Обрезка текста до и после нужной фразы с последующей заменой
Уважаемые форумчане, помогите дописать скрипт.
В общем нужно чтобы с этой ссылки <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, время: 15:25. |