>

삽입 형식의 텍스트에서 Instagram URL을 정규식으로 바꾸는 방법

//Input
$text = 'There is https://www.instagram.com/p/Bes0orNjOIa/?taken-by=kendalljenner and then there was https://www.instagram.com/p/BZMh9qgl8Kw/?taken-by=felix.gaebler';
//Expected output
$text = 'There is <iframe src="//www.instagram.com/p/Bes0orNjOIa/embed"></iframe> and then there was <iframe src="//www.instagram.com/p/BZMh9qgl8Kw/embed"></iframe>';

  • 답변 # 1

    Regex는 문자열을 일치시키기위한 것으로 대체품이나 이와 유사한 것이 아닙니다. 텍스트를 포함 링크로 변환하려면 다음과 같이하십시오.

    <?php
        $text = 'There is https://www.instagram.com/p/Bes0orNjOIa/?taken-by=kendalljenner and then there was https://www.instagram.com/p/BZMh9qgl8Kw/?taken-by=felix.gaebler';
        $words = explode(' ', $text);
        $output = array();  
        foreach ($words as $word) {
            if(preg_match('/^https:\/\/www\.instagram\.com\/p\/.{6,}\?/', $word)) {
                $code = explode("/", $word)[4];
                $word = '<iframe src="//www.instagram.com/p/$code/embed"></iframe>';
            } 
            array_push($output, $word);
        }
        echo implode(' ', $output);
    ?>
    
    

    여기에서 출력 : https://i.imgur.com/bHWKF6D.png

  • 이전 AI Python - ai 파이썬 - typeerror : 'int'개체에 '__getitem__'특성이 없습니다
  • 다음 c# : Origin 데이터 소스를 System.Windows.Clipboard로 가져옵니다.