正则表达式中的错误 0 以排除带有类的图像



我尝试创建一个正则表达式来仅搜索不包含指定类的图像,但服务器给了我0 错误意外的"/"分隔符。

$regex = '/<img((?!(.*?)class=['"](.*?)nopopup(.*?)['"](.*?)).*?>/';

现在我的代码是下一个,我需要preg_match仅在不包含类 nopopup 的图像中工作

$regex      = '/<img.*?>/';
$createImageLink = function($imageTag)
{ 
preg_match('/src="([^"]*)"/i', $imageTag[0], $results);
$srcAttribute = $results[0];
$srcUrl = explode("=", $srcAttribute);
return '<a href=' . $srcUrl[1] . ' class="magnific_popup">'.$imageTag[0].'</a>';
};                                                     
if (isset($article->text))
{
$article->text = preg_replace_callback($regex, $createImageLink, $article->text);
$article->text .= '<script> jQuery( document ).ready(function() { jQuery(".magnific_popup").magnificPopup({ type: "image", enableEscapeKey:true }); });</script>';
}
if (isset($article->text))
{
$article->introtext = preg_replace_callback($regex, $createImageLink, $article->introtext);
$article->introtext .= '<script> jQuery( document ).ready(function() { jQuery(".magnific_popup").magnificPopup({ type: "image", enableEscapeKey:true }); });</script>';
}
break;

错误在哪里?

你必须这样做:

$regex = '/<img(?!(.*?)class=['"](.*?)nopopup(.*?)['"](.*?)).*?>/';

在第一行中,您有多余的(符号

https://regexr.com/4r4er

最新更新