详情页

帝国cms文章内容关键字禁止H标签替换

时间:2024年05月11日

编辑:佚名

4414站长论坛某坛友提问:有没有大神帮忙解决下,帝国cms 文章内容关键字禁止H标签替换,如H2标签作为文章小标题,也自动添加了关键词超链接,不想H标签生成链接,如何禁止排除,谢谢。
这是一个4414站长论坛坐沙发的回答如下:
打开帝国CMS根目录下的 e/class/functions.php 文件。使用文本编辑器的搜索功能,查找 /'.$r[keyname].'/i。将找到的 /'.$r[keyname].'/i 替换为以下正则表达式:
'/'.$r[keyname].'(?!([^<]*>|\s+h1\b[^>]*>[^>]*<\/\s*h1\b[^>]*>|\s+img\b[^>]*alt\s*=\s*["\']|\s+img\b[^>]*title\s*=\s*["\']))/i' 
不过作为小编来说是不赞成这样的做法的!毕竟为了这么小小特殊要求把系统文件都修改了。小编还是喜欢用自定义函数解决,/e/class/userfun.php 文件增加个自定义函数
<?php 
// 自定义函数,移除H标签中的链接   
function removeHLink($content) {   
    // 使用正则表达式匹配H标签中的链接并替换为纯文本   
    $pattern = '/<(h2|h3|h5)><a class="infotextkey" href="([^"]+)" target="_blank">([^<]+)<\/a><\/(h2|h3|h5)>/i'; 
    $replacement = '<$1>$3</$1>';   
    $content = preg_replace($pattern, $replacement, $content);   
    return $content;   
}   
?> 
那么内容模板里面的内容字段就改为以下自定义函数调用了哦
<?=removeHLink($navinfor['newstext'])?> 
相关文章
猜你需要