同様の単語を見つけるコードも使用しています。たとえば、ユーザーが「hello」という単語を検索すると、「hello」という単語も見つかります
しかし、結果で検索文字列を強調表示しようとすると、「hello」が見つかったにもかかわらず、「hello」のみが強調表示されます
コード:
$StrSQL = "SELECT `text` FROM `articles` WHERE $strCondition ORDER BY $strOrderBy";
foreach ($dbh->query($StrSQL) as $row) {
$text = $row['text'];
$searchvalue2 = $row['text'];
//to highlight entire unicode word
$searchvalue2 = preg_replace("/\p{L}*?".preg_quote($query)."\p{L}*/ui", "<b>$0</b>", $searchvalue2);
echo "<br>".$searchvalue2."<br>";
$strCondition のエコーは次のようになります。
( REPLACE(text, 'ـ', '') REGEXP 'hell(ö|o|ô)')
正確な$queryだけでなく、hello helloとhelloを強調表示するにはどうすればよいですか..誰か助けてくれますか?