1

すべてのキーワードをアンカー タグに置き換える必要があります。ただし、title、meta、bold、strong などのタグ内にある場合は置き換えないでください。

$keyword = "test";
 $pattern = "/".$keyword."(?!([^<]+)?>)/";
 $replacement  = "<a  style='color:red;'>".$keyword."</a>";         
 $text     = preg_replace( $pattern, $replacement, $text );  
 echo $text;

すべての単語を置き換えています。例: タイトル タグは「タイトル テスト タイトル」と一緒に来ます。上記のようなテキストが付いている場合は、置き換えないでください。キーワードが html タグ内にあるかどうかを確認するための配列パターンを作成することは可能ですか。そうであれば、それを置き換えないでください。他に選択肢があれば教えてください。ありがとう、ディクソン。

4

1 に答える 1

2

はい。この方法を使用して行うことができます:

str_replace(
  array("meta", "title", "head"),
  array("<a style='color:red;'>meta</a>", "<a style='color:red;'>title</a>", "<a style='color:red;'>head</a>"),
  $string
);

これは、キーワードがほとんどない場合に行う最も簡単な方法の 1 つです。これには DOM パーサーや正規表現は必要ありません。

于 2013-06-11T04:49:54.633 に答える