只是一个简短的问题,考虑到给出了 XML 请求或响应,这两行是否总是给出相同的结果?
str_replace( array( "\n", "\t", "\r", "\r\n" ), '', trim( $xml ) );
preg_replace( '#>\s+<#', '><', $xml );
如果没有,我怎样才能做到preg_replace
这样?
先感谢您。
只是一个简短的问题,考虑到给出了 XML 请求或响应,这两行是否总是给出相同的结果?
str_replace( array( "\n", "\t", "\r", "\r\n" ), '', trim( $xml ) );
preg_replace( '#>\s+<#', '><', $xml );
如果没有,我怎样才能做到preg_replace
这样?
先感谢您。
preg_replace
比str_replace
(它只匹配尖括号外的空格)更受限制,并且包括\s
空格字符。<blah> \r \n \t TEXT \t\t</blah>
此外,不会替换字符串 like ,而是保留空格。
事实上,除了都以某种方式影响空白之外,两者并没有什么相似之处。
相当于preg_replace
你的str_replace
就是('/[\r\n\t]/','',$xml)
不。例如,如果您有类似的东西:
<tag att="1"
att="2"
att="3">text</tag>
他们会给出不同的结果。但是,如果我可以提供建议,请不要为此目的使用正则表达式。