2010-05-12 2 views
1

я хочу знать, как поиск и отображение строки из группы строки, как Google отображает слово, которое мы ищем ...поиск и отображение строки из группы строки PHP

следующий пример из Google

поиск слово Google книги

результат

поиск и просмотр миллионов книг из библиотек и издателей по всему миру с помощью Google Book Search. Откройте для себя новую любимую или раскопать старую классику.

я хотел бы сделать этот тип один ...

спасибо и заранее

+0

Итак, вы хотите, чтобы искать текст в большой строке? –

+0

да, я хочу этот тип поиска. –

+0

Вы знаете ответ на этот вопрос. –

ответ

2
$searchString = "Google Book"; 

$originalString = "Search and preview millions of books from libraries and publishers worldwide using Google Book Search. Discover a new favorite or unearth an old classic."; 

$outputString = preg_replace("/($searchString)/i",'<strong>${1}</strong>',$originalString); 

Это должно сделать регистронезависимый поиск и заменой вашей поисковой строки, чтобы она стала обернута <strong> теги.

Обратите внимание, что это не соответствует, если вы предоставляете строку поиска «Google Books» (обратите внимание на «s»). Это очень просто, нет никаких оснований объяснять вариации слов/множественных чисел и т. Д., А также не проверять границы слов (т. Е. Вы могли бы искать «oogl», и он будет соответствовать G oogl e). В зависимости от ваших требований этого может быть достаточно.

+0

Да, это правильно, но мне нужно отображать только 150 символов. так что как изменить это кодирование .. объясните мне .... –

+0

после этого использовать, как это, $ outputstring = substr ($ outputString, 0,150); – Karthik

+0

Предположим, что моя общая строка - 5000 символов, я искал строку, где я не знаю позицию. в это время hw я могу получить правильное положение ... thats, я спросил, могу ли я получить конкретный 150 characher из строки, а также содержать искомое слово ... –

1

Вы также можете перейти с помощью strtr, это может быть быстрее на больших фрагментах текста.

$text = strtr($text, array("search term" => "<b>search term</b>")); 

Будьте осторожны, чтобы использовать массив в качестве параметра, так как эта функция поведение немного отличается использованием параметров строки

Смежные вопросы