Обрезка текста до и после нужной фразы с последующей заменой
Уважаемые форумчане, помогите дописать скрипт.
В общем нужно чтобы с этой ссылки <iframe src='http://sait.ru/embed/1234567891123/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>получилось вот это http://sait.com/video/1234567891123/index.m3u8 Есть скрипт
<script language="javascript" type="text/javascript">
/*<![CDATA[*/
document.onmouseup = function(){
var t = document.getElementsByTagName('textarea');
for (var i=0; i<t.length; i++) {
t[i].value=t[i].value.replace(/<iframe.*? src='(.*?)'.*?<\/iframe>/gim, '$1');
}
}
/*]]>*/
</script>
который частично решает задачу, вырезает все что находится между одинарных кавычек получается вот это http://sait.ru/embed/1234567891123/videoа нужно чтобы было вот это 1234567891123с заменой тоже как бы все нормально http://sait.com/video/$1/index.m3u8единств енный вопрос как обрезать до и после нужного текста. Только начал учить js и как это сделать пока не в моих способностях. Прошу помощи у знатоков! |
var url = "http://sait.ru/embed/1234567891123/v$^ideo".split("/"),
hash = url.pop().split ( "?" ) .pop(),
name = "XXXVideo" ;
if ( hash )
name = name + "?" + hash;
url.push( name );
url = url.join("/");
|
kovalenko3331,
var value ="<iframe src='http://sait.ru/embed/1234567891123/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>" ;
value = value.replace(/<iframe.*?src=.*?(\d+).*?<\/iframe>/gim, 'http://sait.com/video/$1/index.m3u8');
alert(value)
|
рони!
Огромное спасибо все именно так как нужно! Скажите еще пожалуйста, а как сделать если к примеру такая ссылка будет? <iframe src='http://sait.ru/embed/7875cbc9dd218b79/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>а то сейчас выходит http://sait.com/video/7875/index.m3u8а нужно http://sait.com/video/7875cbc9dd218b79/index.m3u8 Попробовал так
var value ="<iframe src='http://sait.ru/embed/7875cbc9dd218b79/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>" ;
2
value = value.replace(/<iframe.*?src=.*?(\d+[a-z]+).*?<\/iframe>/gim, 'http://sait.com/video/$1/index.m3u8');
3
alert(value)
но не совсем то.Заранее спасибо за ответ. |
kovalenko3331,
var value ="<iframe src='http://sait.ru/embed/7875cbc9dd218b79/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>" ;
value = value.replace(/<iframe.*?embed\/([^\/]+).*?iframe>/gim, 'http://sait.com/video/$1/index.m3u8');
alert(value)
|
рони,
Еще раз спасибо! Работает как нужно! |
poни,
Лyчшe пpивязывaть распapc не к "embed/", а к пocлeдyющeмy "/video" |
Deff,
чем лучше? |
рони,
embed на старых ссылках на ютуб не было |
Deff,
ок
var value ="<iframe src='http://sait.ru/embed/7875cbc9dd218b79/video' frameborder='0' width='607' height='360' scrolling='no' allowfullscreen></iframe>" ;
value = value.replace(/<iframe.*?\/([^\/]+)\/video.*?iframe>/gim, 'http://sait.com/video/$1/index.m3u8');
alert(value)
|
рони,
Подскажите пожалуйста, как можно сделать замену ссылки https://site.to/776eeb07pdkj/109445на https://site.to/embed-776eeb07pdkj.htmlто есть вырезать все что между первым вторым слешем и вставить в новую ссылку. В данном случае это 776eeb07pdkjЯ сделал так
var value ="https://site.to/776eeb07pdkj/109445";
value = value.replace(/https.*?site.to\/([^\/]+).*?(\d+)/gim, 'https://site.to/embed-$1.html');
alert(value)
делает то что нужно, но потом повторно заменяет ссылку, так как они похожи.Заранее спасибо за ответ. С уважением kovalenko3331 |
Цитата:
|
ронни,
спасибо работает, но только если ссылка одна, а если вот так 'https://site.to/776eeb07pdkj/109445'или так 'https://site.to/776eeb07pdkj/109445','https://site.to/676eeb07pdkj/609445'уже не хочет. |
var a = new URL("https://site.to/776eeb07pdkj/109445"),
link = a.origin+'/embed-'+a.pathname.substring(1).split('/', 1)[0]+'.html';
и не важно сколько параметров будет, главное чтобы нужный был первым. |
kovalenko3331,
/https.*?site.to\/([^\/]+)\/(\d+)/gim |
ронни, теперь если уже есть
'https://site.to/embed-776eeb07pdkj.html'к нему добавить ,'https://site.to/tp442flo87glkl/42688968'получив 'https://site.to/embed-776eeb07pdkj.html','https://site.to/tp442flo87glkl/42688968'удаляется первая часть, в итоге получается 'https://site.to/embed-tp442flo87glkl.html'То есть, если к уже измененным ссылкам добавляются оригинальные, измененные ранее удаляются. |
kovalenko3331,
https:\/\/site.to\/([^\/]+)\/(\d+)/gim |
рони,
Вы гений! Огромное спасибо! |
| Часовой пояс GMT +3, время: 22:09. |