Php preg_替换未按预期运行?
喝一杯。我这里有个问题。我收到这些数据,只想去掉Php preg_替换未按预期运行?,php,regex,xml-parsing,preg-replace,Php,Regex,Xml Parsing,Preg Replace,喝一杯。我这里有个问题。我收到这些数据,只想去掉我建议只匹配标记中的所有内容,而不是任何字符或空格。看看: $re=“/”; $str=“\n\n\n”; $subst=“”; $result=preg_replace($re,$subst,$str); 好的,所以在我的桌子上差点撞碎我的脑袋后,我发现了问题所在。正则表达式确实工作得很好!字符串中有一个隐藏的\,导致正则表达式失败。为什么不与远程服务器使用SOAP?检查一下这东西是什么。我根本不想提取信息。我只想删除soap元素。这就是它的工作
我建议只匹配标记中的所有内容,而不是任何字符或空格。看看:
$re=“/”;
$str=“\n\n\n”;
$subst=“”;
$result=preg_replace($re,$subst,$str);
好的,所以在我的桌子上差点撞碎我的脑袋后,我发现了问题所在。正则表达式确实工作得很好!字符串中有一个隐藏的\
,导致正则表达式失败。为什么不与远程服务器使用SOAP?检查一下这东西是什么。我根本不想提取信息。我只想删除soap元素。这就是它的工作@AvinashRaj怪异。似乎在测试仪中工作,但在运行时不正确?谢谢,这是有道理的,但对我来说仍然产生相同的结果-_-你说的话太棒了。“在桌子上打碎我的脑袋”和“仰视”。可能是我在StackOverflow上见过的最好的入口和出口<代码>荣誉
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<SOAP-ENV:Header></SOAP-ENV:Header>
<SOAP-ENV:Body>
<VisionDataExchange>
$xml = preg_replace("/<\\/?SOAP(.|\\s)*?>/",'',$xml);
<?xml version="1.0" encoding="UTF-8"?>
</SOAP-ENV:Header>
<VisionDataExchange>
$re = "/<\\/?SOAP[^<>]+?>/";
$str = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:wsse=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd\" xmlns:wsu=\"http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd\">\n <SOAP-ENV:Header></SOAP-ENV:Header>\n <SOAP-ENV:Body>\n <VisionDataExchange>";
$subst = "";
$result = preg_replace($re, $subst, $str);