Кажется, нет необходимости explode()
в массиве вообще.Просто используйте strpos()
, чтобы найти строку поиска и strlen()
, чтобы убедиться, что она содержит более 2 символов.
$search = trim($_POST['search']);
$text = 'some long text containg several words.';
// Search for $search inside $text as a string
// Both converted to lowercase only for the search
if (strpos(strtolower($text), strtolower($search)) !== FALSE && strlen($search) >= 2){
echo $text;
}else{
echo "no result or too short search word";
}
Теперь для обработки выделения.Самый простой способ сделать это - использовать str_ireplace()
, чтобы окружить его <span>
.Вам необходимо определить класс 'highlight' в вашем CSS-файле, чтобы он имел какой-то особый цвет.
// If your text was found...
$text = str_ireplace($search, "<span class='highlight'>$search</span>", $text);
echo $text;