Php “的正则表达式”;“固定”;电子邮件标题,使其成为一行
可能重复:Php “的正则表达式”;“固定”;电子邮件标题,使其成为一行,php,regex,preg-replace,Php,Regex,Preg Replace,可能重复: 我有一些类似于电子邮件数据的输入数据,因为长行被包装到下一行。例如: robot-useragent: ABCdatos BotLink/1.0.2 (test links) robot-language: basic robot-description: This robot is used to verify availability of the ABCdatos directory entries (http://www.abcdat
我有一些类似于电子邮件数据的输入数据,因为长行被包装到下一行。例如:
robot-useragent: ABCdatos BotLink/1.0.2 (test links)
robot-language: basic
robot-description: This robot is used to verify availability of the ABCdatos
directory entries (http://www.abcdatos.com), checking
HTTP HEAD. Robot runs twice a week. Under HTTP 5xx
error responses or unable to connect, it repeats
verification some hours later, verifiying if that was a
temporary situation.
robot description
字段对于一行来说“太长”,并被包装到下一行。为了帮助解析这些数据,我想提出一个正则表达式,它可以与preg_replace()
一起使用,以替换为以下条件:
- 后跟空格的新行字符
- 不替换新行字符,然后再替换其他新行字符
robot-description: This robot is used to verify availability of the ABCdatos directory entries (http://www.abcdatos.com), checking HTTP HEAD. Robot runs twice a week. Under HTTP 5xx error responses or unable to connect, it repeats verification some hours later, verifiying if that was a temporary situation.
我对RegEx不熟悉。我如何构建这样一个表达式?如果您选择回答,请对表达式中的组件进行简要说明。我真的很想学习如何做这些
我从以下内容开始:\n([^\S])*
它就要结束了 也许你可以试试:
(\r\124;\ n)\s+
(\r|\n) # matches both newline and carriage return
\s+ # any whitespace (tabs, spaces, new lines)
! @MarcB,这不是复制品。在我的另一个问题中,我要问的是如何以类似于内置IMAP函数的方式整体处理头部。在这个问题中,我特别要求RegEx重新加入这些行。在我看来,这些是完全不同的问题。虽然它们与我的目标相同,但我想知道两者的解决方案。如果你不同意,请让我知道。谢谢你的回答。不幸的是,这似乎把一切都放在一条线上。鲍里斯,我看你的例子是这样的。知道为什么代码板版本不是这样吗?我需要指定一些额外的选项吗?它在代码板上也起作用,请查看源代码或使用
nl2br()
(新行不以HTML解释)代码板用行号显示原始输出,而不是HTML。你可以用你的表达式看到这个例子,后面有一个新行和测试文本:@Brad,我怀疑codepad有问题。我在我的本地env和on上进行了测试,结果与预期相符。请注意,您的答案是完全相同的(除了它不允许新行作为空白)<代码>[\t\n]=\s