需要将非标签自己的空格替换为   例如 有标签时:
原始: 123 456 <a href="">7 8</a>9 0 <a href="">dd d</a>
结果: 123 456  <a href="">7 8</a>9 0 <a href="">dd d</a>
没有标签时:
原始: 123 456
结果: 123 456 
原始: 123 456 <a href="">7 8</a>9 0 <a href="">dd d</a>
结果: 123 456  <a href="">7 8</a>9 0 <a href="">dd d</a>
没有标签时:
原始: 123 456
结果: 123 456 
123 456 <a href="">7 8</a>9 0 <a href="">dd d</a>
HTML;$pattern = '/([^<]+)(<.*?>)*/';
$s = preg_replace_callback($pattern, 'foo', $html);
function foo($matches){
return str_replace(' ', ' ', $matches[1]).$matches[2];
}
echo $s;
谢谢你的回复,这个正在还是有问题
例如 <a href="">7 8</a>9 0 <a href="">dd d</a> 111 以链接开头就有问题
$html = <<<HTML
<a href="">7 8</a>9 0 <a href="">dd d</a> 111
HTML;$pattern = '/(<.*?>)*([^<]+)(<.*?>)*/';
$s = preg_replace_callback($pattern, 'foo', $html);
function foo($matches){
return $matches[1].str_replace(' ', ' ', $matches[2]).$matches[3];
}
echo $s;
//<a href="">7 8</a>9 0 <a href="">dd d</a> 111