欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

求preg_replace正则匹配改善

程序员文章站 2024-02-04 08:43:28
...
求preg_replace正则匹配改进
本帖最后由 romy2008 于 2014-11-14 20:20:28 编辑 $body='副标题#e#


求preg_replace正则匹配改善



  “三川玲”是一名广州出版人,真名叫做李玲。取“三川玲”做笔名,是为了纪念家乡风物。毕业于华南师范大学, 在一家杂志做过十年记者、编辑,曾是当时保健图书热的推手之一。和很多职场妈妈一样,六年前当她生下女儿后开始关注育儿问题,并从事童书出版工作。


#p#千万不要随大流#e#


  总之,要以我为主,为我服务的态度,千万不要随大流、千万不要超出自己的经济能力,千万不要抱着早教有魔力的态度,去盲目地选择早教机构。


#p#为了升学,突击学习#e#


  入学前的速成班:为了升学,突击学习



  随着丸子年龄的增长,我很快发现,有一类针对3~6岁孩子的早教班风风火火地存在着。


';

$body=preg_replace('正则', '',$body);
echo $body;


//这是DEDECMS里的内容,现在我要做一个阅读全文的页面,也就是这页文章不分页,要把内容里面的分页标记都去了,要去除的标记主要包括有:
//1、段首的分页标记“副标题#e#”
//2、中间的分页标记“#p#千万不要随大流#e#”
//说明:#e#是标题,#p#是分页,当然删除也包括#e#和#p#字符了。


?>


对此,xuzuning 写了个正则
$body=preg_replace('/(?:^|#p#).*?#e#\s*/s', '',$body);

但是我的需求忽略了一个问题,就是当前段首没有“副标题#e#”分页标题的情况,比如:


$body='


求preg_replace正则匹配改善



  “三川玲”是一名广州出版人,真名叫做李玲。取“三川玲”做笔名,是为了纪念家乡风物。毕业于华南师范大学, 在一家杂志做过十年记者、编辑,曾是当时保健图书热的推手之一。和很多职场妈妈一样,六年前当她生下女儿后开始关注育儿问题,并从事童书出版工作。


#p#千万不要随大流#e#


  总之,要以我为主,为我服务的态度,千万不要随大流、千万不要超出自己的经济能力,千万不要抱着早教有魔力的态度,去盲目地选择早教机构。


#p#为了升学,突击学习#e#


  入学前的速成班:为了升学,突击学习



  随着丸子年龄的增长,我很快发现,有一类针对3~6岁孩子的早教班风风火火地存在着。


';

$body=preg_replace('正则', '',$body);
echo $body;


//这是DEDECMS里的内容,现在我要做一个阅读全文的页面,也就是这页文章不分页,要把内容里面的分页标记都去了,要去除的标记主要包括有:
//1、段首的分页标记“副标题#e#”
//2、中间的分页标记“#p#千万不要随大流#e#”
//说明:#e#是标题,#p#是分页,当然删除也包括#e#和#p#字符了。


?>

这样会把第一页的都给过滤了,求改进,当段首没有分页标题标记时,不删除第一页内容。
------解决思路----------------------
观察了一下,#p# 和 #e# 总是在一行的
body=preg_replace('/(?:^
------解决思路----------------------
#p#).*?#e#\s*/', '',$body);
求preg_replace正则匹配改善

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。

相关文章

相关视频


网友评论

文明上网理性发言,请遵守 新闻评论服务协议

我要评论
  • 求preg_replace正则匹配改善
  • 专题推荐