php - 正则表达式中的错误 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(.*?)['\"](.*?)).*?>/';
在第一行你有多余的(
符号
推荐阅读
- javascript - Javascript函数中的继承错误
- c# - 如何从 ViewBag 打印列表
- blueprism - 蓝棱镜自动化
- ruby - 在 Ruby 中将字符串加密或散列为十进制数
- javascript - 使用 HTML id 模拟按钮点击
- windows - Windows 10 fc 命令:文件比较
- angular - 我在我的项目中使用 ngx-datepicker,我在表单控件中获取日期值 2018-06-29T07:46 :44.000Z 而不是 DD/MM/YYYY
- c# - 控制器属性检查就像使用 [FromBody] 两次
- javascript - 捕获并更改 url 请求以进行删除
- node.js - 在nodejs中监听https流量