您好,欢迎来到三六零分类信息网!老站,搜索引擎当天收录,欢迎发信息

求截取PHP指定字符串代码

2024/6/6 7:25:09发布45次查看
有下面一段html字符串:
aaaa
bbbb
cccc
dddd
 >
要想输出下面内容:
aaaa
dddd
 >
即删除中间两个
前面的内容及
的简易代码,由于还要输出为html,不用数组方式。
回复讨论(解决方案) $s = 'aaaa
bbbb
cccc
dddd
';echo preg_replace('/
\w+/', '', $s, 2);
aaaa
dddd

还有点小问题,单独运行没问题,但上面的表达式实际用到我的字符串时,因为第二段br里含有( ),,最后一段br里含有“-”,截取出来有点问题。
$s = 'aaaa
11(22)
cccc
dd-dd
';
截取出来变成了:
$s = 'aaaa(22)
cccc-dd
';
$s = 'aaaa
11(22)
cccc
dd-dd
';echo preg_replace('/
[\(\)-\w]+/', '', $s, 2);
补充说明:aaaa、cccc是中文。
补充说明:aaaa、cccc是中文。
$s = '中文
11(22)
拼音
dd-dd
';echo preg_replace('/
[\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('/
[^<]+/', '', $s, 2);

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

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

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

谢谢版主,第一条正确了,第二条的“王某
还在。
echo preg_replace('/
[\x{4e00}-\x{9fa5}\w\(\)\-,]+/u', '', $s,2) ;//utf-8编码
你多了,逗号在【】方括号里面加进去啊

请jordan102帮忙,第二条 echo preg_replace('/\(.+?\)/', '', $s) 还需要截掉“王某
“的部分。
echo preg_replace_callback('/
[^<]+/', 'foo', $s, 2); function foo($m){ return strpos($m[0], '(') !== false ? preg_replace('/\(.+?\)/','',$m[0]) : ''; }
谢谢,单独对于一句里面的运行没问题了。但前面还有些语句和空格之类的加上运行就有问题了。
该用户其它信息

VIP推荐

免费发布信息,免费发布B2B信息网站平台 - 三六零分类信息网 沪ICP备09012988号-2
企业名录 Product