Tags PHP删除特定行返回

Tags PHP删除特定行返回,tags,preg-replace,Tags,Preg Replace,在我完成preg_replace以移除标记“TagToremove”后,我仍然有一个返回行,您知道我是否可以在preg_replace期间移除它吗 还是之后,如何? 谢谢 替换前的字符串: <CodeServiceTransport></CodeServiceTransport> <PrixTotalCommande>100</PrixTotalCommande> <TagToremove> <Ligne> <ll

在我完成preg_replace以移除标记“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>
<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>

100
嗯
48
奥特里德
1.
Preg_替换后的字符串:

<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>
<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>

100
嗯
48
奥特里德
1.

不要使用正则表达式解析HTML,而是使用DOM解析器。

然而,对于您的特定问题,您必须在正则表达式中添加一个可选的换行符,如下所示:

$temp = preg_replace('~</?' . $tag . '[^>]*>\R?~i', '', $temp);
$temp=preg\u replace('~]*>\R?~i',''$temp);

\R
代表任何类型的换行符(即
\R
\n
\R\n

对不起,它能用!它只是在左边添加空格来改变我的缩进。@Pipoo:没问题,但对我来说前面没有空格。万一你知道如何删除标记(缩进)之前的一些空格b吗?@Pipoo:Add
\h*
\R?
[^>]*>\R?\h*
)或改为
[^>]*>\s*
你是这样说的吗$temp=preg_replace(“~]*>\R?\h*”,“,$temp);