Home > Backend Development > PHP Tutorial > 求截取PHP指定字符串代码

求截取PHP指定字符串代码

WBOY
Release: 2016-06-23 14:00:06
Original
1035 people have browsed it

有下面一段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);
Copy after login
<td align="Center" rowspan="2" width="7%">aaaa<br>dddd<br></td >
Copy after login

还有点小问题,单独运行没问题,但上面的表达式实际用到我的字符串时,因为第二段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);
Copy after login

补充说明: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编码
Copy after login

谢谢。第一段截取出来的还是错位,还是直接贴我原始的字符吧:
计算机编程
1-9(1,2)
王某
3-307

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

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

1

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


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

1

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


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


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

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

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

<?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);?>
Copy after login

请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]) : '';	    	 }
Copy after login

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

source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template