js获取富文本中的第一张图片(正则表达式)
2020-02-21 23:57:47 来源:易采站长站 作者:王振洲
js获取富文本中的第一张图片url正则公式及去除字符串里面的html标签
后台发来一个富文本字符串里面可能包含了0、1、2、3…个图片标签(img),我们的任务是获取这个字符串里面第一张图片的url,如果没有图片则返回空
var imgUrlFun = function(str){
var data = '';
str.replace(/<img [^>]*src=['"]([^'"]+)[^>]*>/, function (match, capture) {
data = capture;
});
return data
}
去除字符串里面的html标签的正则公式
var filterHTMLTag = function (str) {
str = str.replace(/</?[^>]*>/g,''); //去除HTML tag
str = str.replace(/[ | ]*n/g,'n'); //去除行尾空白
str=str.replace(/ /ig,'');//去掉
return str;
}
js如何获取ueditor里面的第一张图片
想获取ueditor里面第一张图片作为缩略图,怎么获取,ueditor里面全部是以文本方式储存的
UE.getPlainTxt() 可获取到编辑器中的纯文本内容,有段落格式
UE.getContentTxt() 可获取到编辑器中的纯文本内容,没有段落格式;
ueditor 没有提供直接获取图片的功能,可以UE.getContent() 获取全部内容,使用正则表达式 筛选出图片,我提供一个使用JAVA写的筛选方法,前台js代码类似:
Pattern p_img = Pattern.compile("(]+srcs*=s*'"['"][^>]*>)");
Matcher m_img = p_img.matcher(content);
while (m_img.find()) {
String img = m_img.group(1); //m_img.group(1) 为获得整个img标签 m_img.group(2) 为获得src的值
}
可以打开ueditor.all.min.js 查看,里面有所有支持的方法 注释也都很明白
ueditor发布文章获取第一张图片为缩略图实现方法
正则匹配图片地址获取第一张图片地址
此为函数 在模块或是全局Common文件夹中的function.php中
/**
* [getPic description]
* 获取文本中首张图片地址
* @param [type] $content [description]
* @return [type] [description]
*/
function getPic($content){
if(preg_match_all("/(src)=(["|']?)([^ "'>]+.(gif|jpg|jpeg|bmp|png))2/i", $content, $matches)) {
$str=$matches[3][0];
if (preg_match('//Uploads/images/', $str)) {
return $str1=substr($str,7);
}
}
}
用法演示
$content=I('post.body');//获取富文本编辑器内容
$info=getPic($content);//使用函数 返回匹配地址 如果不为空则声称缩略图
if(!$info==null){
$thumb=$info.'thumb240x160.png';
$image = new ThinkImage();//实例化图像处理,缩略图功能
$image->open($info);// 生成一个居中裁剪为240*160的缩略图
$unlink=$image->thumb(240, 160,ThinkImage::IMAGE_THUMB_CENTER)->save($thumb);
}else{
$thumb='';
}
dedecms中的js获取fckeditor中的图片
function get_firstimg(){
//var c=document.getElementById('body').value;
var c=FCKeditorAPI.GetInstance('body').GetXHTML(true);
if(c){
var fimg=c.match(/<img(.*?) src=["|'](.*?)["|'](.*?)>/);
if(fimg[2]){
document.getElementById('picname').value=fimg[2];
if(document.getElementById('ImgPr'))document.getElementById('ImgPr').src=fimg[2];//预览
if(document.getElementById('picview'))document.getElementById('picview').src=fimg[2];//预览
}
}
}













闽公网安备 35020302000061号