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

求正则匹配第一行指定字符串

程序员文章站 2022-05-27 12:53:58
...
只删除第一行以#p#结束的字符串


$body="我们来自五湖四海 我们爱我们的家乡#p#

四川好啊,湖南好啊,广东好啊,重庆好啊


#e#p#

四川好啊,湖南好啊,广东好啊,重庆好啊


"
$body=preg_replace('/........./is', '',$body,1);


输出:

四川好啊,湖南好啊,广东好啊,重庆好啊


四川好啊,湖南好啊,广东好啊,重庆好啊



回复讨论(解决方案)

$body=preg_replace('/.+?#p#/is', '',$body,1);

那为什么 #e#p# 也被删除了?

preg_replace('/(.*)#p#(\r\n)+/i', '',$body);

楼主我和2楼有同样疑问你说只删除第一行字符串那为什么你在输出的时候那个#e#p#字符没有了。这串字符(#e#p#)要还是不要啊?

有可能2楼明白我的用意,我先测试分析下,嘿嘿


测试了下,u010036886更接近我的用意,但还有些不完善,也是因为我表达不够清晰,我再把需求重述一遍。兄弟再看看。

$body='副标题#e#


求正则匹配第一行指定字符串



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


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


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


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


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



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


';

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


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


?>

preg_replace('/(.*)#p#(\r\n)+/i', '',$body);

应该是nowphp更接近用意