У меня есть JavaScript, в котором есть функция, которая берет URL-адрес из текстовой области в поле описания и преобразует его в cover_url и cover_type для сохранения его в базе данных. Здесь, в этой функции, это делается, если мы предоставляемURL для ссылки на изображение, видео или звуковой клуб youtuve преобразует его в cover_url и cover_type и сохраняет его, но я также принимаю URL поста Instagram и сохраняю его в виде cover_type и cover_url.
var mtch="";
var matchtype=0;
function findimginpost() {
desc= $('textarea#description').froalaEditor('html.get');
desc=desc.split('>');
var regexpimg1=/^<img[^>]+src=["|']{1}([^']*\.?[^']+)["|']{1}/i;
var regexpimg2=/^<iframe[^>]+src=["|']?[^" & ^']+youtube[^" & ^']+["|']?/i;
var regexpimg3=/https:\/\/.*soundcloud.*\/[^" | ^']+["|']?/i;
var regexpimg=[regexpimg1,regexpimg2,regexpimg3];
var type=['image','video','sound'];
for(var j=0;j<type.length;j++){
for (var i=0;i<desc.length;i++){
desc[i]=desc[i].replace(/\"/g,"'");
mtch=regexpimg[j].exec(desc[i]);
if(mtch!=null){
mtch+="";
break;
}
}
if(mtch!=null){
mtch=mtch.split('src =');
if(mtch.length<=1){
mtch+="";
mtch=mtch.split('src=');
}
if(j!=2)
mtch=mtch[1];
else
mtch=mtch[0];
mtch=mtch.replace(/"|'/g,"");
matchtype=j+1
if(j==0) {
mtch = mtch.replace(/.*\//g, "");
}
if(j==1){
mtch="https:"+mtch;
mtch=mtch.replace(/watch\?/g,"embed/");
}
$('#cover_type').val(matchtype);
$('#cover_url').val(mtch);
}
}
}