使用正则表达式来捕获标签之间的数据
(?:\s]+)?)+\s*|\s*)\/?>([^
然后替换”with’& nbsp;’
还要在html之前和之后捕获:
^([^<>]*)
>([^<>]*)$
编辑:
干得好….
$data="dasdad asd a
adfa a adfadfaf> | dfa dfa |
$exp="/((?:\\s]+)?)+\\s*|\\s*)\\/?>)([^
$ex1="/^([^<>]*)()/i";
$ex2="/(>)([^<>]*)$/i";
$data = preg_replace_callback($exp, create_function('$matches','return $matches[1].str_replace(" "," ",$matches[2]);'), $data);
$data = preg_replace_callback($ex1, create_function('$matches','return str_replace(" "," ",$matches[1]).$matches[2];'), $data);
$data = preg_replace_callback($ex2, create_function('$matches','return $matches[1].str_replace(" "," ",$matches[2]);'), $data);
echo $data;
?>
它工作…略有修改,但它可以工作而不需要修改(但我不认为你理解代码;))