在进行 ZBlog 开发中遇到 文章 内容 标签 tags 自动替换为内部的tag 链接。在应用中心中查找到免费的插件下载后启动 。访问文章后报一下错误。经排查是正则表达式书写错误。
(2)E_WARNING : preg_replace(): Unknown modifier '�' (set_error_handler) (1.7.2.3060 (Tenet)) (WINNT10.0; Apache2.4.54; PHP8.0.26x64; mysqli8.0.31; curl7.76.1; OpenSSL1.1.1s; AppCentre2.80; memory_limit:128M; max_execution_time:120; upload_max_filesize:2M; post_max_size:8M)
$preg = '/(?!((<.*?)|(<a.*?)))('.$inlink->Name.')(?!(([^<>]*?)>)|([^>]*?<\/a>))/i'; preg_replace($preg,'<a target="_blank" href="'.$inlink->Url.'" style="text-decoration: none;">'.$inlink->Name.'</a>',$content,1);
解决方案
将正则表达式改为
$preg = ''\'(?!((<.*?)|(<a.*?)))('.$inlink->Name.')(?!(([^<>]*?)>)|([^>]*?<\/a>))\'s'; preg_replace($preg,'<a target="_blank" href="'.$inlink->Url.'" style="text-decoration: none;">'.$inlink->Name.'</a>',$content,1);
文章成功显示出来