经常会出现富文本编辑器不加上http://
需要正则表达式进行富文本文字处理代码如下:
//富文本文件自动补全当前域名路径
public function html_to_images($detail = "")
{
$detail = htmlspecialchars_decode($detail);
preg_match_all("/<img.*?src=[\\\\'| \\\"](.*?(?:[\\.gif|\\.jpg|\\.png|\\.jpeg]?))[\\\\'|\\\"].*?[\\/]?>/", $detail, $imgs);
$images = array( );
if( isset($imgs[1]) )
{
foreach( $imgs[1] as $img )
{
//这里替换图片路径 进行富文本返回的值进行拼接
// $im = array( "old" => $img, "new" => tomedia($img) );
$im = array( "old" => $img, "new" => 'http://127.0.0.1/'.$img );
$images[] = $im;
}
}
foreach( $images as $img )
{
$detail = str_replace($img["old"], $img["new"], $detail);
}
return $detail;
}
//富文本删除图片路径http://域名 转变成 images/1/2021/11/Aju85j2Ya0iUyYOyjf2jEX0ZYU45Yz.png
public function html_images($detail = "", $enforceQiniu = false)
{
$detail = htmlspecialchars_decode($detail);
preg_match_all("/<img.*?src=[\\\\'| \\\"](.*?(?:[\\.gif|\\.jpg|\\.png|\\.jpeg]?))[\\\\'|\\\"].*?[\\/]?>/", $detail, $imgs);
$images = array( );
if( isset($imgs[1]) )
{
foreach( $imgs[1] as $img )
{
//移除http://
$im = array( "old" => $img, "new" => save_media($img, $enforceQiniu) );
$images[] = $im;
}
}
foreach( $images as $img )
{
$detail = str_replace($img["old"], $img["new"], $detail);
}
return $detail;
}
|