Как найти подстроку, найденную в текстовой строке, и выделить ее всюPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как найти подстроку, найденную в текстовой строке, и выделить ее всю

Сообщение Anonymous »

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

Итак, если $term равен " круто" в результате preg_replace должно получиться:

Код: Выделить всё

My hair cut so cool!
К сожалению, мое регулярное выражение, похоже, не захватывает окружающий текст, а только $term. Окружающие теги могут быть любыми допустимыми тегами.

Код: Выделить всё

    0:
1:  $term = 'cool';
2:  ob_start();
3:

10:  foreach($items as $item) {
11:    // echoing results here
12:    echo '' . $item->text . '';
13:  }

30:  $content = ob_get_contents();
31:  ob_clean() ;
32:
33:  $pattern = "/(?])($term)/i";
34:  $replace = "$1";
35:  echo preg_replace($pattern, $replace, $content);
36:
РЕДАКТИРОВАТЬ: Цикл foreach является одним из многих и расположен в отдельном классе. Из-за этого не могу сделать замену в самом цикле. Кроме того, кажется более эффективным обрабатывать конечный результат вместо каждого цикла обработки данных.

Подробнее здесь: https://stackoverflow.com/questions/292 ... -all-of-it
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»