更新时间:2022-06-14 23:11:48
使用正则表达式来捕获标签之间的数据
use regex to catch data between tags
(?:<\/?\w+)(?:\s+\w+(?:\s*=\s*(?:\".*?\"|'.*?'|[^'\">\s]+)?)+\s*|\s*)\/?>([^<]*)?
然后将''
with '& nbsp;'
并在html之后:
also to catch before and after html :
^([^<>]*)<?
>([^<>]*)$
编辑:
go ...
here you go....
<?php
$data="dasdad asd a <table atrr=\"zxzx\"><tr><td>adfa a adfadfaf></td><td><br /> dfa dfa</td></tr></table> asdasd s ";
$exp="/((?:<\\/?\\w+)(?:\\s+\\w+(?:\\s*=\\s*(?:\\\".*?\\\"|'.*?'|[^'\\\">\\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;
?>
它的工作原理...略有修改,但它可以不加修改地工作(但我不认为你了解代码;))
it works... slightly modified but it would work without modifications (but i dont think youd understand the code ;) )