用于删除<&燃气轮机;及</&燃气轮机;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();