すべてのキーワードをアンカー タグに置き換える必要があります。ただし、title、meta、bold、strong などのタグ内にある場合は置き換えないでください。
$keyword = "test";
$pattern = "/".$keyword."(?!([^<]+)?>)/";
$replacement = "<a style='color:red;'>".$keyword."</a>";
$text = preg_replace( $pattern, $replacement, $text );
echo $text;
すべての単語を置き換えています。例: タイトル タグは「タイトル テスト タイトル」と一緒に来ます。上記のようなテキストが付いている場合は、置き換えないでください。キーワードが html タグ内にあるかどうかを確認するための配列パターンを作成することは可能ですか。そうであれば、それを置き換えないでください。他に選択肢があれば教えてください。ありがとう、ディクソン。