Поиск и замена строки html на js
Есть HTML страница, в которой есть:
<script>
"download":"https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4"}]}], hlsconfig: {
p2pConfig: {
logLevel: true,
live: false, // set to true in live mode
}
}, preroll:"https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4 or https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4", cuid:"-4847", "poster":"/player/preview.jpg"});
</script>.
Нужно с помощью JS найти вот эту строчку:
preroll:"https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4 or https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4"
И заменить содержимое на
preroll:"https://example.ru/360.mp4"
Суть всей проблемы в том, что нельзя использовать jquery. Только чистый JS.
Так же, сам скрипт почти всегда разный, но preroll: "123" всегда присутствует.
Ответы (1 шт):
Автор решения: Ein
→ Ссылка
Если, как вы написали, данные хранятся в переменной, то достаточно Регулярных выражений для поиска и замены.
<script>
var html = `
"download":"https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4"}]}], hlsconfig: {
p2pConfig: {
logLevel: true,
live: false, // set to true in live mode
}
}, preroll:"https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4 or https://example.ru/tvseries/705f0bb/a28d21ac3:2708/360.mp4", cuid:"-4847", "poster":"/player/preview.jpg"});
`;
html = html.replace(
/preroll:".*?(\d+.mp4)"/gm,
'preroll:"https://example.ru/$1"'
);
console.log(html);
</script>