Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Обрезка текста до и после нужной фразы с последующей заменой (https://javascript.ru/forum/misc/57671-obrezka-teksta-do-i-posle-nuzhnojj-frazy-s-posleduyushhejj-zamenojj.html)

kovalenko3331 14.08.2015 10:06

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

cyber 14.08.2015 10:16

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("/");

рони 14.08.2015 10:24

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)

kovalenko3331 14.08.2015 13:38

рони!
Огромное спасибо все именно так как нужно! Скажите еще пожалуйста, а как сделать если к примеру такая ссылка будет?
<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)
но не совсем то.
Заранее спасибо за ответ.

рони 14.08.2015 14:17

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)

kovalenko3331 14.08.2015 14:24

рони,
Еще раз спасибо! Работает как нужно!

Deff 14.08.2015 23:29

poни,
Лyчшe пpивязывaть распapc не к "embed/", а к пocлeдyющeмy "/video"

рони 14.08.2015 23:35

Deff,
чем лучше?

Deff 14.08.2015 23:38

рони,
embed на старых ссылках на ютуб не было

рони 15.08.2015 00:03

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)


Часовой пояс GMT +3, время: 02:28.