利用php怎么截取字符串并保留完整的xml标签

介绍

这期内容当中小编将会给大家带来有关利用php怎么截取字符串并保留完整的xml标签,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。

代码如下:


& lt; ? php 
,,,/* *
,,,,*作者:goosman
,,,,*博客:http://blog.csdn.net/lgg201
,,,,*电子邮件:lgg860911@yahoo.com.cn
,,,,*/,

,,,str 美元;,,=& # 39;0123456789 & lt; a> 012 & lt;/a> 0123456789 & # 39;,,
,,,函数substr_remain_tag(年代,o,美元$ l) {,
,,,,,,,is_match 美元,=preg_match_all (& lt; & lt; & lt; heredoc 

,,,#该正则表达式解析xml标签,标签属性内部支持转义符“\“支持对“\“自身和对应引号的转义,
,,,& lt; (\ w +),,,,,,,,,,,,#标签开始,
,,,,,,,(?:,,,,,,,,,#属性列表,
,,,,,,,,,,,\ s +,,,,,,#前置空格,
,,,,,,,,,,,\ w +,,,#属性名
,,,,,,,,,,,\ s *,,,#属性名后的空白(为了兼容),
,,,,,,,,,,,=,,,,,,,#属性名值之间的等号,
,,,,,,,,,,,\ s *,,,,,,#属性值前的空白(为了兼容),
,,,,,,,,,,,(?:,,,,,,,,#属性值(引号处理),
,,,,,,,,,,,,,,,“,,,,,,,,#双引号的情况,
,,,,,,,,,,,,,,,(?:
,,,,,,,,,,,,,,,,,,,\ \ \ \ \ \ \ \,,#吃掉连续两个转义符(表示转义符自身),

,,,,,,,,,,,,,,,,,,,\ \ \ \“,,,,,,,,,#吃掉转义符接着一个引号(表示转义的引号),

,,,,,,,,,,,,,,,,,,,[^“\ \ \ \]*,,#其他字符,
,,,,,,,,,,,,,,,) *,
,,,,,,,,,,,,,,,“,

,,,,,,,,,,,,,,,& # 39;,,,,,,#单引号情况,
,,,,,,,,,,,,,,,(?:
,,,,,,,,,,,,,,,,,,,\ \ \ \ \ \ \ \,,#吃掉连续两个转义符(表示转义符自身),

,,,,,,,,,,,,,,,,,,,\ \ \ \ & # 39;,,#吃掉转义符接着一个引号(表示转义的引号),

,,,,,,,,,,,,,,,,,,,[^ & # 39;\ \ \ \]*,,,,,,#其他字符,
,,,,,,,,,,,,,,,) *,
,,,,,,,,,,,,,,,& # 39;,
,,,,,,,,,,,),
,,,,,,,) *,
,,,祝辞,
,,,. * ?,,,,,,,,,,,,,,#标签内容,
,,,& lt;/(? 1)的在,,,,#结束标签,
,,,x 
,,,heredoc 
,,,$ s $ matches, PREG_OFFSET_CAPTURE, o);美元,
,,,,,,,如果(is_match美元){,
,,,,,,,,,,,foreach ($ matches[0]匹配美元){,
,,,,,,,,,,,,,,,o0=匹配[1],美元,
,,,,,,,,,,,,,,,#标签左边界越过截取目标右边界,退出,
,,,,,,,,,,,,,,,if ($ o0祝辞=o + l)美元打破,,
,,,,,,,,,,,,,,,null

利用php怎么截取字符串并保留完整的xml标签