php正则 替换div标签内容,PHP 正则匹配标签内容,根据字符串长度进行替换

写了一个函数

/**

* @param string $html html文本数据

* @param array $rule 处理的规则, [ '需要处理的标签' => 限制的字符数量 ]

*

*/

function processing($html, $rule){

$outHtml = "";

$pattern = '/]+)>(.*)]+)>/U'; // 0为带标签的数据 1前标签 2为不带标签的文本内容 3后标签

preg_match_all($pattern, $html, $data);

foreach($data[3] as $k => $v){

if(isset($rule[$v])){

$len = mb_strlen($data[2][$k], 'utf8');

if($len > $rule[$v]){

$start = 0;

$end = $len;

do{

$subText = mb_substr($data[2][$k], $start, $rule[$v], 'UTF-8');

$outHtml .= "{$subText}{$data[3][$k]}>";

$len -= $rule[$v];

$start += $rule[$v];

if($len<0) {

$len = 0;

$start

你可能感兴趣的:(php正则,替换div标签内容)