加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-14 05:48:10 所属栏目:百科 来源:网络整理
导读:我有一个基本上有行的CSV看起来像: 06444|WidgetAdapter 6444|Description:Here is a description.Maybe some more.|0 第三个字段中的文本总是不同且不同,我试图仅用 br替换其中的所有换行符,因此它最终为 06444|WidgetAdapter 6444|Description: brHere is
我有一个基本上有行的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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读