ホームページ >バックエンド開発 >PHPチュートリアル >PHPの正規表現で改行文字rnを削除する方法

PHPの正規表現で改行文字rnを削除する方法

WBOY
WBOYオリジナル
2016-06-13 13:10:271126ブラウズ

PHP正規表現で改行文字を削除する方法 rn
現在、次のような文字列があります:
abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbb
cccccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg

を入れるには正規表現を使用したいと思っています[ abc] と [/abc] の間の改行文字 (つまり、rn) が置き換えられます。ただし、[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 コード
$s =<font color="#e78608">------解決策---------</font><br>
話し合う

PHP コード
$s =<<abcxyz
qwerty
[abc]aaaaaaaa
bbbbbbbbb
cccccccc[/abc]
poiuyt
lkjhgf
[abc]
dddddd
eeeeeee
ffff[/abc]
poiuy
asdfg
TXT;

echo preg_replace( ' #[abc].+?[/abc]#se', 'preg_replace("/[……
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。