![]() |
1
5
如果这实际上是XML,那么我同意其他答案。但是,如果它不是有效的XML,只是一些看起来像XML的东西,那么您应该 不 尝试用XML解析器解析它。相反,您可以使用正则表达式:
输出:
请注意
|
![]() |
2
2
如果这是一个简单的结构,没有嵌套:
忽略空标记:
|
![]() |
3
0
如果你是 真的? 正在分析XML,然后 PHP DOM 在这里有用。上面可能有一个简单的例子,但是如果您要解析XML,我将使用一个专用的XML API。 |
![]() |
4
0
这看起来像XML。如果确实是这样,您应该使用simplexmlement或PHP的任何其他XML打包工具。
|
![]() |
5
0
嗯,您应该使用XML解析器,比如 SimpleXML 或 XMLReader . 但是,如果你想破解一些东西,下面的方法会有效:
只要每行有一个项目,这就可以工作。如果您将所有内容都放在一行上,请将上面的第二行代码替换为:
祝你好运! |
![]() |
6
0
因此,假设段落中有一些东西将破坏XML格式,或者您只是想了解更多关于regexp解析的内容,那么这应该可以完成您发布的示例的工作。它并不是特别健壮,但这就是人们喜欢使用XML的原因,因为它有一个正式的语法,使它易于解析。或者更简单。特别是,这个解决方案依赖于正在分析的字符串,从段落标记开始,到段落结束标记结束,而且在每对段落之间除了空白之外没有其他内容。所以这是一个非常直接的例子问题的解决方案。但是,由于这是您自定义数据格式的唯一现有规范文档,所以我只能这样做:)
这里要做的是,在preg-split函数调用中,使用零宽度的lookaround断言查找每个段落的开头和结尾,然后调用preg-replace从每个块的开头和结尾裁剪标签。你最终得到的是
|
![]() |
7
0
编辑后(不区分大小写,标记太大,XML解析器无法处理),应该可以执行以下操作:
|
![]() |
lonix · 使用sed从JSON中提取非贪婪正则表达式 1 年前 |
![]() |
Dima Malko · 如何在指定符号前添加符号? 2 年前 |
![]() |
shekharsabale · 从列表元素捕获子字符串 2 年前 |
![]() |
Katia · 根据特定规则进行多行匹配 2 年前 |
![]() |
MHA · Pandas str.extract()以字母结尾的数字 2 年前 |
![]() |
Slava Vir · 如何查找后面“/”之间的最后一组 2 年前 |