最近在学PHP,现在有个字符串,里面的内容是这样的:
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>就是都是这样构成的,<p>标签里面有字符,然后中文的句号。想取前3个<p>标签的第一个句号的内容,请问要怎么写正则来匹配,各位大哥大姐,谢谢了。
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p><p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>
<p>这里是字符串。字符串。字符串。</p>就是都是这样构成的,<p>标签里面有字符,然后中文的句号。想取前3个<p>标签的第一个句号的内容,请问要怎么写正则来匹配,各位大哥大姐,谢谢了。
$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);
只取$matches[1]就可以了
我是想取出每个<p></P>里面的第一个句号之前的内容,就是说第一个<p></p>标签的取过后就跳到下一个<p></p>去取数据了,也是取第一个句号之前的,然后取3段后拼起来就可以了,还有种可能是<p></p>可能都没3个,继续帮忙下啊
第一个p标记和句号之间的内容.