0

文字列に対して PHP 関数を実行したいのですが、preg_replaceアンカー タグ内のものを無視する必要があります。

例えば。

string = 'alpha beta delta gamma <a href="somelink.html">alpha beta delta gamma</a>'
to match = 'beta delta'

2番目のインスタンスではなく、最初のインスタンスのみをピックアップするにはどうすればよいbeta deltaですか?

4

1 に答える 1

1

終了タグの否定先読みを行うことができます:

preg_replace("/$to_match(?![^<]*<\/)/", 'foo', $string);

また、html で正規表現を使用しないでください。

于 2012-07-02T00:52:26.907 に答える