Heim  >  Artikel  >  Backend-Entwicklung  >  求截取PHP指定字符串代码

求截取PHP指定字符串代码

WBOY
WBOYOriginal
2016-06-23 14:00:061020Durchsuche

有下面一段html字符串:

aaaa
bbbb
cccc
dddd
 >
要想输出下面内容:
aaaa
dddd
 >
即删除中间两个
前面的内容及
的简易代码,由于还要输出为html,不用数组方式。


回复讨论(解决方案)

$s = '<td align="Center" rowspan="2" width="7%">aaaa<br>bbbb<br>cccc<br>dddd<br></td >';echo preg_replace('/<br>\w+/', '', $s, 2);
<td align="Center" rowspan="2" width="7%">aaaa<br>dddd<br></td >

还有点小问题,单独运行没问题,但上面的表达式实际用到我的字符串时,因为第二段br里含有( ),,最后一段br里含有“-”,截取出来有点问题。
$s = '

aaaa
11(22)
cccc
dd-dd
 >';
截取出来变成了:
$s = 'aaaa(22)
cccc-dd
 >';

$s = '<td align="Center" rowspan="2" width="7%">aaaa<br>11(22)<br>cccc<br>dd-dd<br></td >';echo preg_replace('/<br>[\(\)-\w]+/', '', $s, 2);

补充说明:aaaa、cccc是中文。

补充说明:aaaa、cccc是中文。

$s = '<td align="Center" rowspan="2" width="7%">中文<br>11(22)<br>拼音<br>dd-dd<br></td >';echo preg_replace('/<br>[\x{4e00}-\x{9fa5}\w\(\)-]+/u', '', $s,2) ;//UTF-8编码

谢谢。第一段截取出来的还是错位,还是直接贴我原始的字符吧:

计算机编程
1-9(1,2)
王某
3-307

要想输出两种效果:
1. 计算机编程
3-307

2.计算机编程
1-9
3-307
  第二段只去掉括号及里面内容

1

echo preg_replace('/<br>[^<]+/', '', $s, 2);


2
echo preg_replace('/\(.+?\)/', '', $s);

1

echo preg_replace('/<br>[^<]+/', '', $s, 2);


2
echo preg_replace('/\(.+?\)/', '', $s);


谢谢版主,第一条正确了,第二条的“王某
还在。

echo preg_replace('/<br>[\x{4e00}-\x{9fa5}\w\(\)\-,]+/u', '', $s,2) ;//UTF-8编码

你多了,逗号在【】方括号里面加进去啊

<?php$str = '<td align="Center" rowspan="2" width="7%">aaaa<br>bbbb<br>cccc<br>dddd<br></td >';$arr = explode('<br>', $str);array_splice($arr, 1, 2);echo implode('<br>', $arr);?>

请jordan102帮忙,第二条 echo preg_replace('/\(.+?\)/', '', $s) 还需要截掉“王某
“的部分。

echo preg_replace_callback('/<br>[^<]+/', 'foo', $s, 2); function foo($m){     return strpos($m[0], '(') !== false ? preg_replace('/\(.+?\)/','',$m[0]) : '';	    	 }

谢谢,单独对于一句里面的运行没问题了。但前面还有些语句和空格之类的加上运行就有问题了。

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn