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);?>