Как обрезать произвольный отрезок текста с помощью PHP?
В поиске по сайту необходимо вывести конкретный отрезок статьи содержащий запрос пользователя. Статью получаю, но она выводиться полностью. Если обрезаю кол-во символов, то она обрезается с начала... и пользователь не видит свой запрос в статье. Есть ли возможность в данном примере подредактировать регулярки, чтобы выводился контент вокруг запрашиваемого слова ( $search_string )
$pattern = "/((?:^|>)[^<]*)(".$search_string.")/iu"; //регулярное выражение
$replace = '$1$2'; // шаблон замены строки
$disp_body = preg_replace($pattern, $replace, $result['body']); // замена
Идея хорошая. Спасибо. Но, в данном случае позицию "$search_string" он ищет не корректно. Я предполагаю из-за того, что с набором каждого символа происходит новый поиск и перерасчет "strpos". Думаю в сторону регулярок.
Удаление тегов и подсветку результатов, удается достичь с помощью этого:
$pattern = "/((?:^|>)[^<]*)(".$search_string.")/iu"; //регулярное выражение
$replace = '$1 (b style="color:#FF0000; background:#FFFF00;") $2 (/b) '; // шаблон замены строки
(...тостер почему "режет" html теги, не позволяет нормаль написать их в сообщении)