我在 PHP 中有两个字符串:
$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' 和零个或多个字符后跟 ']'。是什么赋予了?为什么会这样,正确的模式是什么?
谢谢。