正则如何匹配第一个的</p>和最后一个</p>
比如文章如下
<p>1111111</p>
<p>2222222</p>
<p>33333333</p>
<p>4444444</p>
<p>55555555</p>
<p>66666666</p>
<p>7777777</p>
匹配出<p>1111111
</p>中的</p>
和最后一段<p>7777777
</p>的</p>
正则如何弄?
------解决方案--------------------preg_match_all('/^<p>.+<\/p>
------解决方案--------------------<p>.+<\/p>$/U',$s,$m);
------解决方案--------------------$s =<<< TXT
<p>1111111</p>
<p>2222222</p>
<p>33333333</p>
<p>4444444</p>
<p>55555555</p>
<p>66666666</p>
<p>7777777</p>
TXT;
echo preg_replace('#(</p>)(.+)(</p>)#s', '$1aaa$2$3BBB', $s);
<p>1111111</p>
aaa
<p>2222222</p>
<p>33333333</p>
<p>4444444</p>
<p>55555555</p>
<p>66666666</p>
<p>7777777</p>
BBB
------解决方案--------------------
如果只是想要匹配</p>的话,可以不用正则吧。
PHP5,现在应该没有谁用PHP4吧。。。
$str = '<p>1111111</p>
<p>2222222</p>
<p>33333333</p>
<p>4444444</p>
<p>55555555</p>
<p>66666666</p>
<p>7777777</p>';
$fp = stripos($str, '</p>');
$first = substr($str, $fp, 4);
$ep = stripos($str, '</p>');
$end = substr($str, $ep, 4);
写错了,$ep = strripos($str, '</p>');
楼上兄弟和我想一样了