现在有这么一段字符串:
abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbbb
ccccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg我希望用个正则表达式,把[abc]和[/abc]之间的换行符(也就是\r\n)给替换掉。但是[abc]和[/abc]之外的字符串的换行符保留不变。
上面的是个例子,有可能是这种情况[abc]xxxx[/abc][abc]......,也就是前一个[/abc]和后一个[abc]紧挨着。如果能兼容linux和windows(换行符好像不一样),就更完美了。弄了一晚上,请教了群友,仍然没有解决,只好来麻烦大家了。
abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbbb
ccccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg我希望用个正则表达式,把[abc]和[/abc]之间的换行符(也就是\r\n)给替换掉。但是[abc]和[/abc]之外的字符串的换行符保留不变。
上面的是个例子,有可能是这种情况[abc]xxxx[/abc][abc]......,也就是前一个[/abc]和后一个[abc]紧挨着。如果能兼容linux和windows(换行符好像不一样),就更完美了。弄了一晚上,请教了群友,仍然没有解决,只好来麻烦大家了。
解决方案 »
- php 获取远程文件 保存本地 一般用哪种方法
- PHP循环问题
- 为什么将数据库的blob输出到页面上就是乱码?正常应该是图片才对。
- 招聘全职或兼职网络工程师(程序员)
- php 正则表达式
- 问一个关于base64_decode分别在php5和php4中的问题!
- 两个字符串比较,找出其中内容不同的地方,怎么实现阿?
- 使用curl 提交表单(多维数组+文件)数据到服务器的问题
- SOS:php中无法使用Session怎么办(php.ini文件内容如下)
- php 重定向出了问题,求大神帮助,我发誓已经找了6个小时了,还是没有找出哪里有问题
- mysql 新增加一列数据 报错 Data truncated for column 'tg_level' at row 1
- 请问哪里有可以学习的完整的网站源码?
preg_replace_callback( '~\[abc\](.*?)\[/abc\]~msi',
function($matches){
return str_replace(array("\r","\n"),'',$matches[0]);
},
$text);
这段代码把[abc]之外的字符都删除了。
abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbbb
ccccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg
TXT;echo preg_replace('#\[abc].+?\[/abc]#se', 'preg_replace("/[\r\n]+/","","$0")', $s);
abcxyz
qwerty
[abc]aaaaaaaabbbbbbbbbccccccccc[/abc]
poiuyt
lkjhgf
[abc]ddddddeeeeeeeffff[/abc]
poiuy
asdfg其实 helloyou0 是对的,只是他没有注意到你的 [abc] 是两段
那行代码用的修正符e就是可以对匹配项再编辑是吧?昨晚想一次性把[abc]里的东西替换呢,结果没弄出来。呵呵。
这时 preg_replace_callback 的威力就显现出来了
感谢各位高手的解答。