我试图用来preg_split
分割段落之间有奇数行换行的文本,但其中一些新行(也是奇数)上也有一些“空格”(空空格),但正则表达式是m using无法绕过那些“空格”,而是将它们包括在我的数组中:
Array
(
[0] => Dummy text
[2] =>
[3] => more dummy text after some lines
[5] =>
[7] => even more dummy text
)
这是正则表达式示例:https : //3v4l.org/2aMNN
preg_split('/(\r\n|\n|\r)/', $p)
到目前为止,我已经使用foreach
循环来清理它:
foreach($arr as $v){
if(!empty($v){
//do something
}
}
但我很确定对此X_X有更好的解决方案:-s
您可以preg_split
与该PREG_SPLIT_NO_EMPTY
标志一起使用,以从输出中删除完全为空的值,但是您还需要在正则表达式中的换行符附近包含空格,以避免在输出中出现仅包含空格的行。这将起作用($p
从您的演示中复制):
$arr = preg_split('/[\r\n]+\s*/', $p, -1, PREG_SPLIT_NO_EMPTY);
print_r($arr);
输出:
Array (
[0] => Dummy text
[1] => more dummy text after some lines
[2] => even more dummy text
)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句