Heim  >  Artikel  >  Backend-Entwicklung  >  php正则表达式怎的去掉换行符rn

php正则表达式怎的去掉换行符rn

WBOY
WBOYOriginal
2016-06-13 13:10:271092Durchsuche

php正则表达式怎样去掉换行符\r\n
现在有这么一段字符串:
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(换行符好像不一样),就更完美了。

弄了一晚上,请教了群友,仍然没有解决,只好来麻烦大家了。

------解决方案--------------------
如果没有嵌套:
preg_replace_callback( '~\[abc\](.*?)\[/abc\]~msi',
function($matches){
return str_replace(array("\r","\n"),'',$matches[0]);
},
$text);
------解决方案--------------------

PHP code
$s =<font color="#e78608">------解决方案--------------------</font><br>
探讨

PHP code
$s =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("/[……
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