ѡ̳

 找回密码
 ע
搜索
查看: 50|回复: 0
打印 上一主题 下一主题

尝试修复一个php5.2升级到5.3 版本兼容问题的bug

[复制链接]

789

主题

1158

帖子

4197

积分

Ա

Rank: 9Rank: 9Rank: 9

积分
4197
跳转到指定楼层
¥
发表于 2019-1-7 17:57:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

// 标签里的属性不添加m标签
function replace_attr($output)
{

$new_output =  preg_replace_callback(
"/(alt|src|value|title|placeholder|data-name|data-title|data-fv-message)=['\"]?([\S]+)?(<m[\s_a-zA-Z=\d>-]+<\/m>)['\"]?/isu",
       function ($matches) {
         
return replace_m($matches[0]);
       }, $output);

   //为了兼容性 可以分步   处理上面的 函数   -- 开始
preg_match("/(alt|src|value|title|placeholder|data-name|data-title|data-fv-message)=['\"]?([\S]+)?(<m[\s_a-zA-Z=\d>-]+<\/m>)['\"]?/isu", $output, $matches);   
if(matches[0]){
return replace_m($matches[0]);  
  }


  //为了兼容性 可以分步   处理上面的 函数   -- 结束

    if($new_output){
      return $new_output;
   }else{
      return $output;
   }
}

//去掉数据中的m标签
function replace_m($value)
{

   return preg_replace_callback("/<m[\s_a-zA-Z=\d->]+<\/m>/", function($match){
      return;
   }, $value);
}


回复

使用道具 举报

您需要登录后才可以回帖 登录 | ע

本版积分规则

QQ|Archiver|ֻ|С|ѡ̳

GMT+8, 2026-5-2 06:27 , Processed in 0.088759 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表
0.1026s