帮忙正则匹配的问题

fjxmcyh 2009-08-03 11:49:26
最近在学PHP,现在有个字符串,里面的内容是这样的:
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>

就是都是这样构成的,<p>标签里面有字符,然后中文的句号。想取前3个<p>标签的第一个句号的内容,请问要怎么写正则来匹配,各位大哥大姐,谢谢了。
...全文
106 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
huarc 2009-08-04
  • 打赏
  • 举报
回复
<p>这里是字符串。字符串。字符串。 </p>

preg_match_all("/<p>^(.*)\。(.*)\。(.*)\。<\/p>/", $str, $matches);
只取$matches[1]就可以了
hehe2006jian 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jakey9826 的回复:]
取出所有的,放到数组里,你可以取数组的前三个就是了.
PHP code$str=<<<TEST<p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p>
TEST;preg_match_all("/<p>([^。]+).*?<\/p>/",$str,$matches);var_dump($matches);
[/Quote]

学习... ...
fjxmcyh 2009-08-04
  • 打赏
  • 举报
回复
搞定了,结贴,谢谢啦
总哈哈 2009-08-04
  • 打赏
  • 举报
回复
楼上强人!
程序猿之殇 2009-08-04
  • 打赏
  • 举报
回复
取出所有的,放到数组里,你可以取数组的前三个就是了.
$str = <<<TEST
<p>这里是字符串。字符串。字符串。 </p>
<p>这里是字符串。字符串。字符串。 </p>
<p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p>
<p>这里是字符串。字符串。字符串。 </p>
<p>这里是字符串。字符串。字符串。 </p>
<p>这里是字符串。字符串。字符串。 </p>
TEST;
preg_match_all("/<p>([^。]+).*?<\/p>/", $str, $matches);
var_dump($matches);
fjxmcyh 2009-08-04
  • 打赏
  • 举报
回复
对,就是每个<p></p>之间的开始到第一个句号之间的内容,各位老大,帮帮忙啊
blueforyou 2009-08-04
  • 打赏
  • 举报
回复
"...第一个句号的内容"?是这个句号之前的?
YHL27 2009-08-04
  • 打赏
  • 举报
回复
sf!!
fjxmcyh 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 jakey9826 的回复:]
引用 8 楼 fjxmcyh 的回复:
引用 4 楼 jakey9826 的回复:
取出所有的,放到数组里,你可以取数组的前三个就是了.
PHP code$str= < < <TEST <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p>
TEST;preg_match_all("/ <p>([^。]+).*? <\/p>/",$str,$matches);var_dump($matches);


我是想取出每个 <p> </P>里面的第一个句号之前的内容,就是说第一个 <p> </p>标签的取过后就跳到下一个 <p> </p>去取数据了,也是取第一个句号之前的,然后取3段后拼起来就可以了,还有种可能是 <p> </p>可能都没3个,继续帮忙下啊

都已经按照条件取出来了,你自己操作一下数组就OK了.
[/Quote]

这个是把所有的数据都取出来了,不是只取第一个句号前的数据,再帮忙看看吧
aimie 2009-08-04
  • 打赏
  • 举报
回复
/<p>.*?。/
第一个p标记和句号之间的内容.
程序猿之殇 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 fjxmcyh 的回复:]
引用 4 楼 jakey9826 的回复:
取出所有的,放到数组里,你可以取数组的前三个就是了.
PHP code$str= < < <TEST <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p> <p>这里是字符串。字符串。字符串。 </p>
TEST;preg_match_all("/ <p>([^。]+).*? <\/p>/",$str,$matches);var_dump($matches);


我是想取出每个 <p> </P>里面的第一个句号之前的内容,就是说第一个 <p> </p>标签的取过后就跳到下一个 <p> </p>去取数据了,也是取第一个句号之前的,然后取3段后拼起来就可以了,还有种可能是 <p> </p>可能都没3个,继续帮忙下啊
[/Quote]
都已经按照条件取出来了,你自己操作一下数组就OK了.
fjxmcyh 2009-08-04
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 jakey9826 的回复:]
取出所有的,放到数组里,你可以取数组的前三个就是了.
PHP code$str=<<<TEST<p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p>
TEST;preg_match_all("/<p>([^。]+).*?<\/p>/",$str,$matches);var_dump($matches);
[/Quote]

我是想取出每个<p></P>里面的第一个句号之前的内容,就是说第一个<p></p>标签的取过后就跳到下一个<p></p>去取数据了,也是取第一个句号之前的,然后取3段后拼起来就可以了,还有种可能是<p></p>可能都没3个,继续帮忙下啊

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧