帝国论坛帝国网站管理系统交流区帝国CMS使用交流[求助]请教正则表达式 【本版专题贴子】  
主题:[求助]请教正则表达式 [加入收藏夹]   

weilai520
用户头衔:秀才

精华贴   :0
发贴数   :51
经验值   :367
注册时间:2012-01-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 1 楼]
[求助]请教正则表达式
<p>正常内容正常内容正常内容正常内容正常内容</p>
<p>正常内容正常内容正常内容正常内容正常内容</p>
<p>正常内容正常内容正常内容正常内容正常内容</p>
<p>名人名言经典语录大全精选80句相关文章:</p>   注意这里是个变量的标题+相关文章
<p>★ 雨果名言大全</p>
<p>★ 袁枚名言大全</p>
<p>★ 留恋每一刻,珍惜时间的名人名言80句</p>
<p>★ 易中天语录经典语录</p>
<p>★ 名人名言大全摘抄100句</p>
<p>★ 励志名人名言100句</p>
<p>★ 关于团队凝聚力的名人名言</p>
<p>★ 蔡康永经典语录大全100句</p>
<p>★ 要好好学习的名人名言</p>
<p>★ 语录大全:诚信的名言警句</p>

采集的时候没有注意发现采集了很多别人文章的相关文章,现在删除起来真麻烦。我想使用正则批量替换信息  也就是删除从这里开始删除  <p>名人名言经典语录大全精选80句相关文章:</p>   注意这里是个变量的标题+相关文章

我不太懂这个,如果我使用以下方式 批量替换信息内容 就会把正常的内容全给替换掉了,哎
<p>*相关文章:</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p ><p>★ *</p >

用正则表达式应该怎么写?


主要是想删除如下内容:

<p>名人名言经典语录大全精选80句相关文章:</p>
<p>★ 雨果名言大全</p>
<p>★ 袁枚名言大全</p>
<p>★ 留恋每一刻,珍惜时间的名人名言80句</p>
<p>★ 易中天语录经典语录</p>
<p>★ 名人名言大全摘抄100句</p>
<p>★ 励志名人名言100句</p>
<p>★ 关于团队凝聚力的名人名言</p>
<p>★ 蔡康永经典语录大全100句</p>
<p>★ 要好好学习的名人名言</p>
<p>★ 语录大全:诚信的名言警句</p>


上传以下图片:


[该贴被修改 3 次,最后修改时间 2023-05-28 18:39:26 ]



2023-05-27 01:54:58 已设置保密 顶部 回复 引用 报告 编辑 删除

jiuhecai
用户头衔:探花

精华贴   :0
发贴数   :2986
经验值   :8508
注册时间:2014-07-02
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 2 楼]

帝国cms的正则替换,是太监过的。不太好用。

或者考虑  ★ 推荐文章3</p>    后的字符有没有特征?
或者 考虑用     <p>★ *</p>     多弄几次


或者用我的批量王,不过是收费插件,似乎也没有必要。你就多替换几次吧



帝国插件 插件定制。帝国临时工。查杀顽固木马。专业解决难题。qq--110102296
2023-05-27 06:56:36 已设置保密 顶部 回复 引用 报告 编辑 删除

cnnb
用户头衔:探花

精华贴   :0
发贴数   :5655
经验值   :16160
注册时间:2008-10-14
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 3 楼]

开头和结尾要唯一




2023-05-27 07:07:34 已设置保密 顶部 回复 引用 报告 编辑 删除

cighsen02
用户头衔:进士

精华贴   :0
发贴数   :851
经验值   :3279
注册时间:2009-09-29
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 4 楼]

你看看是不是你要的,替换可以用这个preg_replace_callback_array



$pattern = '/(<([\w]+)[^>]*>)★(.*?)(<\/\\2>)/';
$text = '<p>文章内容1。<p>我是文章内容2。</p><p>我是文章内容3</p><p>标题相关文章:</p><p>★ 推荐文章1</p><p>★ 推荐文章2</p><p>★ 推荐文章3</p>';

preg_match_all($pattern, $text, $matches, PREG_SET_ORDER);



上传以下图片:


[该贴被修改 1 次,最后修改时间 2023-05-27 09:38:28 ]


要上就上安心站长 www.axzz.cn q:365182575
2023-05-27 09:34:31 已设置保密 顶部 回复 引用 报告 编辑 删除

cighsen02
用户头衔:进士

精华贴   :0
发贴数   :851
经验值   :3279
注册时间:2009-09-29
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 5 楼]

preg_replace('/(<p>.*?相关文章:<\/p>.*?)$/', '', $text);

[该贴被修改 1 次,最后修改时间 2023-05-27 15:29:39 ]


要上就上安心站长 www.axzz.cn q:365182575
2023-05-27 15:28:54 已设置保密 顶部 回复 引用 报告 编辑 删除

csdn2
用户头衔:探花

精华贴   :0
发贴数   :4531
经验值   :13244
注册时间:2013-11-21
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 6 楼]

学习下




2023-05-27 15:49:42 已设置保密 顶部 回复 引用 报告 编辑 删除

weilai520
用户头衔:秀才

精华贴   :0
发贴数   :51
经验值   :367
注册时间:2012-01-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 7 楼]

preg_replace('/(<p>.*?相关文章:<\/p>.*?)$/', '', $text);   使用这个 文章全没了。。 能实现只截取 当前<p> 变量+相关文章</p> 内的信息么?




2023-05-28 18:37:54 已设置保密 顶部 回复 引用 报告 编辑 删除

zhxin
用户头衔:探花

精华贴   :0
发贴数   :3756
经验值   :10341
注册时间:2013-01-09
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 8 楼]

开头和结尾都不是只有一个




2023-05-29 06:41:18 已设置保密 顶部 回复 引用 报告 编辑 删除

weilai520
用户头衔:秀才

精华贴   :0
发贴数   :51
经验值   :367
注册时间:2012-01-12
信息 搜索 好友 发送悄悄话 精益求精-帝国网站管理系统7.5正式版开源发布】   [第 9 楼]

原帖由 zhxin 于 2023-05-29 06:41:18 发表
开头和结尾都不是只有一个



所以好难,也不知道怎么替换掉




2023-05-29 20:48:19 已设置保密 顶部 回复 引用 报告 编辑 删除

零距离
用户头衔:探花

精华贴   :0
发贴数   :4834
经验值   :12848
注册时间:2007-12-26
信息 搜索 好友 发送悄悄话 免费开源-EBMA系统:更安全的MYSQL管理和备份系统】   [第 10 楼]

没有唯一开头,无解




2023-05-30 07:08:42 已设置保密 顶部 回复 引用 报告 编辑 删除

快速回复
内容

表情
使用EBB代码 使用smile代码 显示签名 自动分析url 自动分析img
     【进入高级模式】   (按 Ctrl+Enter 直接提交)
    顶部  加入收藏夹
关于帝国 | 广告服务 | 联系我们 | 法律声明 | 隐私条款 | 许可协议
Powered by: EBB Version 2.2.1