phpRegex怎的去掉分行符號rn

來源:互聯網
上載者:User
phpRegex怎樣去掉分行符號\r\n
現在有這麼一段字串:
abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbbb
ccccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg

我希望用個Regex,把[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 =<<< TXTabcxyzqwerty[abc]aaaaaaaabbbbbbbbbccccccccc[/abc]poiuytlkjhgf[abc]ddddddeeeeeeeffff[/abc]poiuyasdfgTXT;echo preg_replace('#\[abc].+?\[/abc]#se', 'preg_replace("/[\r\n]+/","","$0")', $s);
------解決方案--------------------
探討

PHP code
$s =<<< TXT
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("/[……
  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.