サイト上のテキストにある名前を置き換える必要があります。しかし、テキスト中の名前は、タグではなく、置換する必要があります。例えばタグで1回だけ交換する方法とタグを付けない方法はありますか?
:これに
<img src="" title="Justin Bieber" /> bla bla bla bla Justin Bieber bla bla bla Justin Bieber bla bla bla bla
:イメージタグで
$text = '<img src="" title="Justin Bieber" /> bla bla bla bla Justin Bieber bla bla bla Justin Bieber bla bla bla bla';
$text = preg_replace('/Justin Bieber(?![^<>]*+>)/i', '<a href="http://en.wikipedia.org/wiki/Justin_Bieber">Justin Bieber</a>', $text, 1);
つだけとNO:
<img src="" title="Justin Bieber" /> bla bla bla bla <a href="http://en.wikipedia.org/wiki/Justin_Bieber">Justin Bieber</a> bla bla bla Justin Bieber bla bla bla bla
私は答えを見つけました。
-1。 REGEXでHTMLを解析しないでください。それは壊れるでしょう。もし彼が '
'を持っていたら? –
@Truthあなたの権利はそうです。 HTMLが整形されていれば、SimpleXMLを使用してDOMを反復処理し、htmlを置き換えて再作成することができます。 – dotoree