$string = "
put returns between paragraphs
for linebreak add 2 spaces at end
";
想要从字符串中删除所有新行.
我有这个正则表达式,它可以捕获所有这些,问题是我不知道我应该使用哪个函数.
/\r\n|\r|\n/
$string应该成为:
$string = "put returns between paragraphs for linebreak add 2 spaces at end ";
解决方法:
您必须小心双线换行,这会导致双倍空格.使用这个非常有效的正则表达式
$string = trim(preg_replace('/\s\s+/', ' ', $string));
多个空格和换行符被替换为单个空格.
编辑:正如其他人所指出的,此解决方案在单词之间存在匹配单个换行符的问题.这在示例中不存在,但可以很容易地看出这种情况是如何发生的.另一种方法是执行以下操作:
$string = trim(preg_replace('/\s+/', ' ', $string));
标签:php,string,regex 来源: https://codeday.me/bug/20190915/1804946.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。