2010-02-05 2 views
1

이 코드가 왜이 작동하지 않습니다PHP는 preg_replace이다 질문

$text = '[iframe=200x200]http://stackoverflow.com[iframe] '; 
$text = preg_replace(
    '/\[iframe=(.*?)x(.*?)\](.*?)\[\/iframe\]/ms', 
    '<iframe style="border: 1px solid rgb(204, 204, 204); width: \1px; height: \2px;" src="\3"></iframe>', 
    $text 
); 
echo $text; 

를?

+1

무스타파 누락, 그것은 더 이상 문제가되지 않습니다,하지만 다음 번에 * * 실제로 의미 "작동하지 않는"무엇을 게시 고려하십시오. 명확성을 위해 실제 출력과 기대했던 출력을 게시 할 수 있습니다. –

답변

2

시도 : \[iframe\]로 변경 될 필요가 \[\/iframe\]에서 원하지 않는 슬래시가 있었다

$text = preg_replace('/\[iframe=(.*?)x(.*?)\](.*?)\[iframe\]/ms', 
     '<iframe style="border: 1px solid rgb(204, 204, 204); width: \1px; height: \2px;" src="\3"></iframe>', 
     $text); 

편집 : 그렇지 않은으로

실제로 입력 문자열이 잘못 보이는 닫기 iframe 태그가 있습니다.

$text = '[iframe=200x200]http://stackoverflow.com[iframe] '; 
당신의 캐릭터는 다른 구분 기호의 사용은 피할 문자열에서 발견 /을 탈출 할 수 / 포함하는 경우

는 경우

$text = '[iframe=200x200]http://stackoverflow.com[/iframe] '; 

해야한다. 다음과 같이 입력하십시오 :

$text = preg_replace('#\[iframe=(.*?)x(.*?)\](.*?)\[/iframe\]#ms', 
      '<iframe style="border: 1px solid rgb(204, 204, 204); width: \1px; height: \2px;" src="\3"></iframe>', 
      $text); 
+0

오 하나님, 그 덕분에 대단히,하지만 당신은 무엇을 했습니까 –