Как проигнорировать первый матч в этом регулярном выражении - PullRequest
0 голосов
/ 18 сентября 2011
$tag = 'img';
$text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text);

как я могу заставить preg_replace игнорировать первое совпадение ("img") и выполнять замену только для остальных?

1 Ответ

0 голосов
/ 18 сентября 2011

Вы можете использовать цикл for () и установить $ i как 1, чтобы избежать первого значения в массиве, например что-то вроде:

 for($i = 1; $tags < count($tags) ; $i++){
 $text = preg_replace('#</?'.$tag.'[^>]*>#is', '', $text[$i]);
 }

, но этот цикл будет заменять значение $text каждый раз, когда еговыполняется, если вы хотите сохранить его в виде строки, замените знак = на .= или если вы хотите, чтобы массив заменил $text на $text[$i--]

, обратите внимание, что этот код не проверен!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...