PHP には 2 つの文字列があります。
$string = '<a href="http://localhost/image1.jpeg" /></a>';
と
$string2 = '[caption id="attachment_5" align="alignnone" width="483"]<a href="http://localhost/image1.jpeg" /></a>[/caption]';
最初のタイプの文字列を一致させようとしています。それは、'[caption ... ]' と '[/caption]' で囲まれていない文字列です。これまでのところ、次のようなものを使用したいと思います。
$pattern = '/(?<!\[caption.*\])(?!\[\/caption\])(<a.*><img.*><\/a>)/';
しかし、PHP は最初の文字列もこのパターンに一致させますが、先頭に「[caption」がなく、その後に「]」が続く 0 個以上の文字はありません。何を与える?これはなぜですか、正しいパターンは何ですか?
ありがとう。