• 全国400电话网上服务平台
    强大号码库资源任选,方便,快捷,快速开通。
    咨询热线:400-1100-266  

    Dedecms教程:批量替换文章中的超链接
    POST TIME:2021-05-23 00:22

    无忧小编在自己php空间中的一个网站由以前采集里面有很多连接没有过滤掉,现在想再过滤这些连接了,在网上搜寻了很多,终于找到了一个解决办法,由于涉及到正则匹配与SQL调用的技巧,无忧主机小编在这里为大家介绍一下关于dedecms批量替换文章中超链接的方法分享给、给各位朋友有需要的参考. 首先我们在主网站空间的根目录下创建一个replace.php文件,将一下代码添加进去:

    require("data/common.inc.php"); 
    $conn=mysql_connect($cfg_dbhost,$cfg_dbuser,$cfg_dbpwd) or die("数据库服务器链接失败"); 
    mysql_select_db($cfg_dbname) or die ("数据库打开失败"); 
    mysql_query("SET NAMES 'gbk'"); 
    $sql="select * from {$cfg_dbprefix}addonarticle order by aid desc"; 
    $result=mysql_query($sql); 
    while($rows=mysql_fetch_array($result)) 
    { 
    $body=$rows["body"]; 
    $newbody=preg_replace("/(?<=href=)([^>]*)(?=>)/i","http://www.51php.com", $body); 
    $sqlu="update {$cfg_dbprefix}addonarticle set body='".$newbody."' where aid=".$rows["aid"]; 
    $resultu=mysql_query($sqlu); 
    if(!$resultu) 
    { 
    $eoo[]=$rows["aid"]; 
    } 
    } 
    if(isset($eoo)) 
    { 
    echo "有错误,有错误的ID如下:"; 
    print_r($eoo); 
    } 
    else 
    { 
    echo "执行成功"; 
    } 
    ?>
    这是一种可行的方法,还有一种办法在dedecms后台中执行sql命令方式下载替换,语句 DEDECMS SQL命令批量替换。更改文章中的内容,代码如下:
    update dede_addonarticle set body=replace(body,'原来的字符','替换后的字符')
    批量替换文章模型中内容部分超链接,代码如下:
    Update dede_addonarticle set 
    <pre>body=replace(body,'href="http://www.xxxx.net','href="http://www.51php.com');</pre>

    
    关于我们 | 付款方式 | 建站知识 | 增值服务 | 网站模板
    Copyright © 2003-2016
    时间:9:00-21:00 (节假日不休)
    版权所有:巨人网络(扬州)科技有限公司
    总部地址:江苏省信息产业基地11号楼四层
    《增值电信业务经营许可证》 苏B2-20120278
    X

    截屏,微信识别二维码

    微信号:veteran88

    (点击微信号复制,添加好友)

     打开微信

    微信号已复制,请打开微信添加咨询详情!