用于删除<&燃气轮机;及</&燃气轮机;PHP

用于删除<&燃气轮机;及</&燃气轮机;PHP,php,regex,Php,Regex,我有一个字符串,其中包含如下数据: <div style="float: right;"><span class='abcd'> test data here </sapn></div> 但是它没有给我想要的结果试试这个 $data = preg_replace('/\s{2,}/', '', $data); ()\s*([^您做得很对。但是preg\u replace不会修改参数,而是返回一个修改过的字符串 所以你可以写一些

我有一个字符串,其中包含如下数据:

<div style="float: right;"><span class='abcd'>      test data here     </sapn></div>
但是它没有给我想要的结果

试试这个

$data = preg_replace('/\s{2,}/', '', $data);

()\s*([^您做得很对。但是
preg\u replace
不会修改参数,而是返回一个修改过的字符串

所以你可以写一些像

$data = preg_replace('/\s+/', ' ', $data);
将给
$data
作为

<div style="float: right;"><span class='abcd'>test data here</sapn></div>
这里的测试数据
注意


您必须用空格替换
“”
,以便保留单个空格

您可以尝试以下方法

preg_replace('~(?<=<)[^<>]*(?=>)(*SKIP)(*F)|(?:(?<=>)\h+|\h+(?=<))~', '', $data);
preg_用DOMDocument替换('~(?):

$html = '<div style="float: right;"><span class="abcd">      test data here     </span></div>';

$dom = new DOMDocument();
$dom->loadHTML($html, LIBXML_HTML_NODEFDTD|LIBXML_HTML_NOIMPLIED);

$xpath = new DOMXPath($dom);

$textNodeList = $xpath->query('//text()');

foreach ($textNodeList as $textNode) {
    $textNode->nodeValue = trim($textNode->nodeValue);
}

$html = $dom->saveHTML();
$html='testdata here';
$dom=新的DOMDocument();
$dom->loadHTML($html,LIBXML\u html\u NODEFDTD | LIBXML\u html\u NOIMPLIED);
$xpath=newdomxpath($dom);
$textNodeList=$xpath->query('//text()');
foreach($textNodeList为$textNode){
$textNode->nodeValue=trim($textNode->nodeValue);
}
$html=$dom->saveHTML();

使用trim函数?RegExp不适合解析和更改HTML文本。请使用HTML解析器类,然后修剪textnode。您的输入是否包含\n个字符?可能是
$data=preg\u replace('/\s{2,}/','$data);
<div style="float: right;"><span class='abcd'>test data here</sapn></div>
preg_replace('~(?<=<)[^<>]*(?=>)(*SKIP)(*F)|(?:(?<=>)\h+|\h+(?=<))~', '', $data);
$html = '<div style="float: right;"><span class="abcd">      test data here     </span></div>';

$dom = new DOMDocument();
$dom->loadHTML($html, LIBXML_HTML_NODEFDTD|LIBXML_HTML_NOIMPLIED);

$xpath = new DOMXPath($dom);

$textNodeList = $xpath->query('//text()');

foreach ($textNodeList as $textNode) {
    $textNode->nodeValue = trim($textNode->nodeValue);
}

$html = $dom->saveHTML();