添加rel ="灯箱"每个标签包括一个图像,但不是那些标签有一个类=" nothis",如何?

时间:2014-09-17 09:25:55

标签: php html regex lightbox

我使用此代码添加到我的页面时,存在一个带有img标签的标签rel =" lightbox"如下:

$petropas1 = preg_replace('~<a(?=[^>]+>\s*<img)~','<a rel="lightbox"',$petropas1);

直到这里它没关系,但如果我想排除他们的标签有一个类=&#34; nothis&#34; ?我的意思是,当存在时:

<a href="" class="nothis"><img src="" alt="" title="" border="0" /></a>

我想要我之前向你展示的正则表达式添加rel =&#34; lightbox&#34;在img之前的每个标签,但不是那个标签有类=&#34; nothis&#34;。

请告诉我如何修改正则表达式以使其正常工作?

由于

1 个答案:

答案 0 :(得分:1)

在正向前方内部使用否定前瞻来设置与class="nothis">一次或多次匹配的条件。

<a(?=(?:(?!class="nothis")[^>])+>\s*<img)

DEMO