0
$tag = 'img';
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text);
어떻게하면 preg_replace가 첫 번째 일치 ("img")를 무시하고 다른 것을 대체 할 수 있습니까?이 정규 표현식에서 첫 번째 일치를 무시하는 방법
$tag = 'img';
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text);
어떻게하면 preg_replace가 첫 번째 일치 ("img")를 무시하고 다른 것을 대체 할 수 있습니까?이 정규 표현식에서 첫 번째 일치를 무시하는 방법
당신은()에 루프를 사용하고 난 배열의 첫 번째 값을 방지하기 위해 1로 $ 설정, 그래서 뭔가 같은 :
for($i = 1; $tags < count($tags) ; $i++){
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text[$i]);
}
하지만 루프가 $text
값마다 그 실행 대체 할 것이다, 경우 당신은 문자열로 저장 .=
으로 =
기호를 대체 할 또는 당신이 만들고 싶어 배열이 코드가 테스트되지 않았 $text[$i--]
메모와 함께 $text
교체!
이것은 실제 HTML 구문 분석기를 사용하는 것이 매우 적절할 수있는 상황입니다. – lonesomeday
PHP 정규식을 사용하지 마십시오. PHP DOM 항목을 사용하십시오. –
관련 질문 : "[Strip 태그는 있지만 첫 번째 태그는 그대로 두십시오.] (http://stackoverflow.com/questions/7457650/strip-tags-but-keep-the-first-one)"및 "[How to use PHP는 DOM 문서?] (http://stackoverflow.com/questions/7457833/how-to-use-php-dom-document) " –