微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

正则表达式 – 记事本 – 尝试重新格式化一些东西

我有一个基本上有行的CSV看起来像:

06444|WidgetAdapter 6444|Description:

Here is a description.
Maybe some more.
|0

第三个字段中的文本总是不同且不同,我试图仅用< br>替换其中的所有换行符,因此它最终为

06444|WidgetAdapter 6444|Description: <br>Here is a description.<br>Maybe some more.<br>|0

编辑:

我基本上需要摆脱所有的换行符,所以每一行都是一个合适的VALUE | VALUE | VALUE | VALUE.标准化/美化/清洁它.

我的所有工具都无法正确导入,PHPMyAdmin chokes等.
该字段内有换行符,有双重引号未转义等.

示例其他字段:

08681|Book 08681|"Testimonial" - Person

You should buy this.|

一个字段的示例:

39338|Itemizer||

解决方法

如果您知道有4列,则可以轻松解析数据.例如,这是一个PHP行,它产生一个包含所有数据的数组.数组中的每一行都是另一个包含所有捕获组的数组:[0]具有完整匹配,每列有[1] – [4]:

$pattern = '/^([^|]*)\|([^|]*)\|([^|]*)\|([^|]*)$/m';
preg_match_all($pattern,$data,$matches,PREG_SET_ORDER);

模式非常简单:它需要4个值(不是管道符号),由3个管道分隔.获得数据后,您可以按照自己的方式轻松地重建数据,例如使用nl2br.
请注意,如果第一列和最后一列也可以包含新行,则无法可靠地解析数据.

工作实例:http://ideone.com/gG0K3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐