如何修剪多个换行符?
例如,
$text ="similique sunt in culpa qui officia
deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore
"
我尝试过这个answe https://stackoverflow.com/questions/6228367/preg-replace-remove-multiple-nr 但我认为它不适用于上述情况,
$text = preg_replace("/\n+/","\n",trim($text));
我想要得到的答案是,
$text ="similique sunt in culpa qui officia
deserunt mollitia animi, id est laborum et dolorum fuga.
Et harum quidem rerum facilis est et expedita distinctio. Nam libero tempore
"
Only 单行中断被接受。
另外我想同时修剪多个空白,如果我在下面这样做,我无法保存任何换行符!
$text = preg_replace('/\s\s+/', ' ', trim($text));
我怎样才能在正则表达式中同时完成这两件事?
在这种情况下你的换行符是\r\n
, not \n
:
$text = preg_replace("/(\r\n){3,}/","\r\n\r\n",trim($text));
这就是说“每次发现 3 个或更多换行符时,将其替换为 2 个换行符”。
Spaces:
$text = preg_replace("/ +/", " ", $text);
//If you want to get rid of the extra space at the start of the line:
$text = preg_replace("/^ +/", "", $text);
Demo: http://codepad.org/PmDE6cDm http://codepad.org/PmDE6cDm
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)