dede数据库内容替换,去掉文章内容中的img标签

dede数据库内容替换,去掉文章内容中的img标签

大家好,又见面了,我是全栈君。

1、织梦已经给我们准备好了数据库内容替换工具,在采集->批量维护->数据库内容替换

dede数据库内容替换,去掉文章内容中的img标签 - 怀素真 - 因上努力 果上随缘
2、织梦的文章内容一般在放在dede_addonarticle表body字段中。
dede数据库内容替换,去掉文章内容中的img标签 - 怀素真 - 因上努力 果上随缘
(1)、选择好数据表和字段。
(2)、选择替换方式为正则表达式,填写主键字段(表的主键)。
(3)、填写被替换内容,正则表达式:
<img(.*)src=\"([^\"]+)\"[^>]+>

(4)、替换内容留空。

(5)、根据需要填写替换条件(如aid=123)。
(6)、输入安全码,开始替换。
 
如果上述都填写正确,应该会出现成功替换个数。如果没有,那很大程度上是正则出错了。
在网上找了很多正则img标签的,不过测试了一下都没用。
织梦处理数据库替换的文件在后台的sys_data_replace.php中,代码如下:
//获取替换条件
$condition = empty($condition) ? '' : " And $condition ";

//被替换内容,这里就是我们填写的正则
$rpstring = stripslashes($rpstring);

//简单的进行字符串转义替换
$rpstring2 = str_replace("\\","\\\\",$rpstring);
$rpstring2 = str_replace("'","\\'",$rpstring2);


//构造sql语句进行查询,注意这里的$rpstring2跟下面php用到的正则$rpstring实际上是一样的。

//那么问题就来了,网上很多正则标签在PHP下测试是可以的,不过到MySQL下就不行了。

//百度了一下发现,MySQL不支持正则的零宽断言,对正则的支持也很简单。
$dsql->SetQuery("SELECT $keyfield,$rpfield FROM $exptable WHERE $rpfield REGEXP '$rpstring2'  $condition ");
$dsql->Execute();
$tt = $dsql->GetTotalRow();
if($tt==0)
{
    ShowMsg("根据你指定的正则,找不到任何东西!","javascript:;");
    exit();
}
$oo = 0;
while($row = $dsql->GetArray())
{
    $kid = $row[$keyfield];

    //通过PHP的正则替换把结果集中的数据替换

    $rpf = preg_replace("#".$rpstring."#i", $tostring, $row[$rpfield]);
    $rs = $dsql->ExecuteNoneQuery("UPDATE $exptable SET $rpfield='$rpf' WHERE $keyfield='$kid' ");
    if($rs)
    {
        $oo++;
    }
}
$dsql->ExecuteNoneQuery("OPTIMIZE TABLE `$exptable`");
ShowMsg("共找到 $tt 条记录,成功替换了 $oo 条!", "javascript:;");
exit();

 

转载于:https://www.cnblogs.com/jkko123/p/6294621.html

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/108690.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • WebView使用配置文件

    WebView使用配置文件

  • JsonObject和JsonArray转换问题

    JsonObject和JsonArray转换问题开发过程中遇到需要将调用接口返回的JsonObject转换为JsonArray格式的数据,在使用过成中遇到转换问题,代码如下publicstaticJSONObjectgetRecJsonObj(StringstuId,StringschoolDate){Stringjson;try{json=Jsoup.connect(UrlConfig.URL+”GetStudentInfo?stuId=”+stuId+

  • Web安全 信息收集 (收集 Web服务器 的重要信息.)

    Web安全 信息收集 (收集 Web服务器 的重要信息.)?“信息收集”会对渗透测试工程师和网络安全工程师具有重大作用:可以帮助工程师们知道主机的存活的主机,主机的系统辨识,服务枚举等。这样工程师就可以执行下一次的工作,比如:对服务器系统进行渗透测试,然后再做出一定的防御。???收集的信息有:目标的真实IP地址,服务器的敏感目录,网站的搭建环境,网站使用的系统,网站防火墙,常用端口信息,目录网站是用什么脚本写得等信息.

  • 修改asmx样式

    修改asmx样式今天看到一张图,asmx的WebService。长这样:当时就感觉有意思,这个页面风格和我们平时的不一样,我们平时的WebService长这样:我们如果在WebMetohd上面加注释,即[WebMethod(Description=”注释”)],那么长这样:那么问题就来了,第一张图里面的样式是如何实现的呢?在浏览器上进入调试模式观察,可以发现它的html和我们的有点不…

  • logistic回归详解(二):损失函数(cost function)详解[通俗易懂]

    logistic回归详解(二):损失函数(cost function)详解[通俗易懂]有监督学习机器学习分为有监督学习,无监督学习,半监督学习,强化学习。对于逻辑回归来说,就是一种典型的有监督学习。既然是有监督学习,训练集自然可以用如下方式表述:{(x1,y1),(x2,y2),⋯,(xm,ym)}\{(x^1,y^1),(x^2,y^2),\cdots,(x^m,y^m)\}对于这m个训练样本,每个样本本身有n维特征。再加上一个偏置项x0x_0,则每个样本包含n+1维特征

  • 左右db_block_size了解和实验

    左右db_block_size了解和实验

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号