我尝试创建一个正则表达式来仅搜索不包含指定类的图像,但服务器给了我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