【发布时间】:2013-09-20 14:35:17
【问题描述】:
我需要清理即使在单词中也添加了无效换行符的文本,以及在单词之间添加有效换行符的文本,以便有一个前导或训练空间。
使用 php 尝试从由字符包围的多行文本中删除这些换行符,这意味着之前或之后没有空格。
$textbefore = "text has newlines in wo\nrds and normal newlines \n bewtween words and again in wo\nrds";
$textafter = "text has newlines in words and normal newlines \n bewtween words and again in words";
试过了
$pattern="/(.{2}\n.{1})/m";
我已经尝试了所有可能的模式,但在最好的情况下,只有第一次匹配。
高度赞赏任何想法。
【问题讨论】:
-
稍微颠倒一下这个问题,如果换行符在两边都被文本包围,它是否只有“无效”?如果它在字符串的开头或结尾呢?
-
我认为您假设正则表达式了解语言。由你来定义一个“词”。直观地注意到一种语言模式并不一定意味着它可以被翻译成正则表达式,尤其是在涉及“单词”时。