我有这个xml:
<RandomAlphaCharsA attr1="value1" attr2="value2 attrX="valueX" />
<RandomAlphaCharsB attr1="value1" attr2="value2 attrX="valueX" />
我需要删除以下内容:
<RandomAlphaCharsX
和/>
,仅保留属性/值。
我尝试了这种模式:
$str = '<RandomAlphaChars attr1="value1" attr2="value2 attrX="valueX" />';
$str = preg_replace( "#<\w+[\s]{1}#", "", $str, -1 );`
var_dump( $str );
//it echoes string(46) "attr1="value1" attr2="value2 attrX="valueX" />"
另一方面,此模式与结束标记匹配:
preg_replace("#/>#", "", $str, -1);
如何将它们组合在一个正则表达式中?
显然,这不起作用preg_replace("#<\w+[\s]{1}/>#", "", $str, -1);
我需要以某种方式排除<RandomAlphaChars
和/>
之间的所有字符,我需要一些帮助。
编辑:哇,你很快。所有答案都很有效!
答案 0 :(得分:2)
答案 1 :(得分:1)
使用或运算符|
加入他们:
$str = preg_replace( "#<\w+\s+|\s+/>#", "", $str);`
答案 2 :(得分:1)
这是我的:
$str = preg_replace('#<\w+\s+(.*?)\s*/>#s', '$1', $str);