Подстрока текста с момента основания - PullRequest
0 голосов
/ 21 ноября 2011

У меня есть поиск на моей странице php, и это нормально.

В результате поиска я выделил целевую строку для моего контента.

$search_tag_text = @preg_replace("/($mysearch)/i", "<u style=\"color:red\">$1</u>", $row->txtContent);

Хорошо, но возможно ли, после нахождения строковой цели на моем контенте, показать 20 слов до и 20 слов после, вместо того, чтобы перечислить весь мой контент?

Любая помощь будет оценена.

1 Ответ

0 голосов
/ 21 ноября 2011

Я бы попробовал что-то вроде:

$matches = array();
preg_match("/($mysearch)/i", $search_tag_text, $matches, PREG_OFFSET_CAPTURE);

И тогда в совпадении у вас будет смещение того, где находится найденная строка, тогда вы можете сделать:

$search_tag_text = substr($subject, ($matches[0][1] - 30), 60);

За 30 символов до матча и 30 после. Если я правильно понял, последний элемент в $ mathces [i] [x] - это смещение, в котором найдено совпадение.

...