Rumah > pembangunan bahagian belakang > tutorial php > 正则如何匹配第一个的</p>和最后一个</p>

正则如何匹配第一个的</p>和最后一个</p>

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Lepaskan: 2016-06-23 14:12:56
asal
1594 orang telah melayarinya

比如文章如下

1111111


2222222


33333333


4444444


55555555


66666666


7777777



匹配出

1111111

中的
和最后一段

7777777


正则如何弄?

回复讨论(解决方案)

preg_match_all('/^

.+|

.+$/U',$s,$m);

preg_match_all('/^

.+|

.+$/U',$s,$m);
这样匹配到的是整一段了
我要的只是一个

preg_match_all('/^

.+()|

.+()$/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;preg_match('#(</p>).+(</p>)#s', $s, $r);print_r($r);
Salin selepas log masuk
Array
(
[0] =>


2222222


33333333


4444444


55555555


66666666


7777777


[1] =>


[2] =>


)

如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk

别用正则了

<?php $s='<p>1111111</p><p>2222222</p><p>33333333</p><p>4444444</p><p>55555555</p><p>66666666</p><p>7777777</p>';print strlen($s);print stripos($s,'</p>');print strripos($s,'</p>');?>运行结果:11310109
Salin selepas log masuk

如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了


如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了
其实我是要第一段的后面追加一些文字、和最后一段也追加一些文字

$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);
Salin selepas log masuk

1111111

aaa

2222222


33333333


4444444


55555555


66666666


7777777

BBB




如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了
其实我是要第一段的后面追加一些文字、和最后一段也追加一些文字



如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了
其实我是要第一段的后面追加一些文字、和最后一段也追加一些文字
也可以使用这种啊,得出了两个'

'的位置,在把字符切一下再加上你要加的文字。
不过如果字符串本身很大的话,这个效率不怎么样。




如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了
其实我是要第一段的后面追加一些文字、和最后一段也追加一些文字
也可以使用这种啊,得出了两个'

'的位置,在把字符切一下再加上你要加的文字。
不过如果字符串本身很大的话,这个效率不怎么样。

不用切,找出位置直接替换就可以
<?php $s='<p>1111111</p><p>2222222</p><p>33333333</p><p>4444444</p><p>55555555</p><p>66666666</p><p>7777777</p>';print strlen($s);$find = '</p>';$find_len = 4; //</p> 长度$s = substr_replace($s, $find."第一个p", stripos($s,'</p>'), $find_len);$s = substr_replace($s, $find."最后一个p", strripos($s,'</p>'), $find_len);print $s;
Salin selepas log masuk
Salin selepas log masuk





如果只是想要匹配

的话,可以不用正则吧。
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);
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk
Salin selepas log masuk


写错了,$ep = strripos($str, '

');
楼上兄弟和我想一样了
其实我是要第一段的后面追加一些文字、和最后一段也追加一些文字
也可以使用这种啊,得出了两个'

'的位置,在把字符切一下再加上你要加的文字。
不过如果字符串本身很大的话,这个效率不怎么样。

不用切,找出位置直接替换就可以
<?php $s='<p>1111111</p><p>2222222</p><p>33333333</p><p>4444444</p><p>55555555</p><p>66666666</p><p>7777777</p>';print strlen($s);$find = '</p>';$find_len = 4; //</p> 长度$s = substr_replace($s, $find."第一个p", stripos($s,'</p>'), $find_len);$s = substr_replace($s, $find."最后一个p", strripos($s,'</p>'), $find_len);print $s;
Salin selepas log masuk
Salin selepas log masuk

这个可以

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan