PHP 删除特定行 return

PHP Remove specific line return

在我完成 preg_replace 删除 TAG 'TagToremove' 后,我还有一行 return,你知道我是否可以在 [=] 期间删除它22=] 或者之后如何? 谢谢

<?php

$strip_list = array('TagToremove');
foreach ($strip_list as $tag)
{
    $temp = preg_replace('/<\/?' . $tag . '(.|\s)*?>/', '', $temp);
}


?>

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>

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

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

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

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