在我完成preg_replace以删除TAG' TagToremove'后,我仍然有一个换行符,你知道我是否可以在preg_replace中删除它 或之后以及如何? 感谢
<CodeServiceTransport></CodeServiceTransport>
<PrixTotalCommande>100</PrixTotalCommande>
<TagToremove>
<Ligne>
<ll>hh</ll>
<Id>48</Id>
<SKU>autreID</SKU>
<Quantity>1</Quantity>
</Ligne>
</TagToremove>
<Meta-CodeActivite></Meta-CodeActivite>
<Meta-CodeEnseigne></Meta-CodeEnseigne>
Preg_replace之前的字符串:
<CodeServiceTransport></CodeServiceTransport>
<PrixTotalCommande>100</PrixTotalCommande>
<Ligne>
<ll>hh</ll>
<Id>48</Id>
<SKU>autreID</SKU>
<Quantity>1</Quantity>
</Ligne>
<Meta-CodeActivite></Meta-CodeActivite>
<Meta-CodeEnseigne></Meta-CodeEnseigne>
Preg_replace之后的字符串:
+---------+--------+--------------------+
| keyword | weight | other keywords |
+---------+--------+--------------------+
| dog | 0.12 | [cat, horse, pig] |
| cat | 0.5 | [dog, pig, camel] |
| horse | 0.07 | [dog, camel, cat] |
| dog | 0.1 | [cat, horse] |
| dog | 0.2 | [cat, horse , pig] |
| horse | 0.3 | [camel] |
+---------+--------+--------------------+
答案 0 :(得分:0)
不要使用正则表达式解析HTML,而是使用DOM解析器。
尽管如此,对于您的具体问题,您必须在正则表达式中添加一个可选的换行符:
$temp = preg_replace('~</?' . $tag . '[^>]*>\R?~i', '', $temp);
\R
代表任何类型的换行符(即。\r
或\n
或\r\n
)