PHP-正则匹配文章图片标签src的内容并替换

2021-04-23  本文已影响0人  jtw

后端富文本编辑器中编辑的图片在各种端中显示
由于不在同一服务器,图片访问路劲不同
这个时候需要批量匹配并替换

//$info->content 是接口中返回文章的内容
    $preg = '#<img(.+?)src\s*=\s*[\"|\']([^"|^\']+?)[\"|\']([^>]*?)>#';
        $info->content = preg_replace_callback($preg,function ($matches){

            $replace = get_img_path($matches[2]);//要替换的src
            return "<img{$matches[1]}src=\"$replace\"{$matches[3]}>";
        }, $info->content);

get_img_path()函数根据不同环境获取图片路径

if(!function_exists('get_img_path')){
    function get_img_path($img){
        //当前环境
        $env_info  = getenv('APP_ENV');
        switch ($env_info){
            case 'local':
                $url = 'https://local.***.com/'.$img;
                break;
            case 'test':
                $url = 'https://test.***.com/'.$img;
                break;
            case 'production':
                $url = 'https://production.***.com/'.$img;
                break;
            default:
                $url = 'https://local.***.com/'.$img;
                break;
        }

        return $url;

    }
}

在页面中显示富文本编辑器内容

 <?php echo htmlspecialchars_decode($info->content);?>
上一篇 下一篇

猜你喜欢

热点阅读