У меня есть эта строка, которая содержит HTML-код, и где-то посередине есть тег изображения.
var html = '<p><p>agsagsa</p><img src="/Service/image.jsp?7D4D25E41ADA46ADE053480001826805">' +
'<img src="/Service/image.jsp?7D4D25E41ADA96540MF3480001F04325">hfhfdhfdhfd</p>' +
'<p>gfdhfdhfd</p>';
Мне нужно найти его с помощью src и удалить его с начала до концатак что от <img src...
до закрывающего тега.
Мне нужно найти правильный src, так как в строке более одного.
Я могу найти индекс правого src, ноне могу понять, как удалить его из строки с помощью ближайшего <img
слева и ближайшего закрывающего тега справа.
var html = '<p><p>agsagsa</p><img src="/Service/image.jsp?7D4D25E41ADA46ADE053480001826805">' +
'<img src="/Service/image.jsp?7D4D25E41ADA96540MF3480001F04325">hfhfdhfdhfd</p>' +
'<p>gfdhfdhfd</p>';
function findImg(imageSrc) {
var src = html.indexOf(imageSrc);
console.log('src = ', src);
}
findImg('/Service/image.jsp?7D4D25E41ADA46ADE053480001826805');
Не могли бы вы рассмотреть его и помочь мне упростить его?
var html = '<p><p>agsagsa</p><img src="/Service/image.jsp?7D4D25E41ADA46ADE053480001826805">' +
'<img src="/Service/image.jsp?7D4D25E41ADA96540MF3480001F04325">hfhfdhfdhfd</p>' +
'<p>gfdhfdhfd</p>';
var originalSrc = '/Service/image.jsp?7D4D25E41ADA46ADE053480001826805';
var startOfSrcIndex = html.indexOf(originalSrc);
console.log('startOfSrcIndex = ', startOfSrcIndex);
var srcLength = originalSrc.length;
var openingTagIndex;
for(var i = startOfSrcIndex-1; i > 1; i--) {
if(html[i] === '<') {
openingTagIndex = i;
break;
}
}
var closingTagIndex;
console.log('srcLength = ', srcLength);
for(var i = srcLength; i < html.length; i++) {
if(html[i] === '>') {
closingTagIndex = i + 1;
console.log('closingTagIndex = ', closingTagIndex);
break;
}
}
console.log('openingTagIndex = ', openingTagIndex);
var image = html.substring(openingTagIndex, closingTagIndex);
console.log(image);
var finalHtml = html.replace(image, '');
console.log('finalHtml = ', finalHtml);