Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Нужна помощь спарсить участок кода и удалить из него строку (https://javascript.ru/forum/misc/30902-nuzhna-pomoshh-sparsit-uchastok-koda-i-udalit-iz-nego-stroku.html)

Fantom2067 20.08.2012 02:27

Нужна помощь спарсить участок кода и удалить из него строку
 
Всем привет. Помогите если не затруднит, спарсить с регуляркой ютуб ссылку из кода ниже, а потом удалить из ссылки параметры fs=1&feature=oembed&wmode=transparent&


<div id="videocontent" class="vep-videocontent">
<iframe width="640" height="360" src="http://www.youtube.com/embed/Bzj1UKePBOE?fs=1&feature=oembed&wmode=transparent&autoplay=1" frameborder="0" allowfullscreen=""/>
</div>

Deff 20.08.2012 02:41

<div id="videocontent" class="vep-videocontent"> 
<iframe width="640" height="360" src="http://www.youtube.com/embed/Bzj1UKePBOE?fs=1&feature=oembed&wmode=transparent&autoplay=1" frameborder="0" allowfullscreen=""/></iframe>
</div>

<script type="text/javascript">
var video = document.getElementById('videocontent')
var a = video.getElementsByTagName('iframe')[0].src;
a = a.replace(/\?.*$/,'')
alert(a)
</script>

Fantom2067 20.08.2012 02:52

извиняюсь за возможно глупый вопрос, а как теперь мне вставить спарсенную ссылку в допустим этот iframe?

<div id="video2"> 
<iframe width="640" height="360" src="Сдесь должна быть полученная ссылка" frameborder="0" allowfullscreen=""/></iframe>
</div>


можно пожалуйста оставить знак вопроса вначале ссылки и autoplay=1 в конце? а то эта /\?.*$/,'' регулярка выдерает их.

Ссылка должна получится такого вида: http://www.youtube.com/embed/Bzj1UKePBOE?autoplay=1

Deff 20.08.2012 02:59

<div id="videocontent" class="vep-videocontent"> 
<iframe width="640" height="360" src="http://www.youtube.com/embed/Bzj1UKePBOE?fs=1&feature=oembed&wmode=transparent&autoplay=1" frameborder="0" allowfullscreen=""/></iframe>
</div>


<div id="video2">  
<iframe width="640" height="360" src="Сдесь должна быть полученная ссылка" frameborder="0" allowfullscreen=""/></iframe> 
</div>

<script type="text/javascript">
var video = document.getElementById('videocontent')
var a = video.getElementsByTagName('iframe')[0].src;
a = a.replace(/\?.*$/,'')

var video2 = document.getElementById('video2')
video2.getElementsByTagName('iframe')[0].src=a;

</script>

Deff 20.08.2012 03:00

Fantom2067,
Проще обрезать в начальном ролике и там же и заменить - не вижусмысла плодить два

Fantom2067 20.08.2012 03:25

Цитата:

Сообщение от Deff (Сообщение 198923)
Fantom2067,
Проще обрезать в начальном ролике и там же и заменить - не вижусмысла плодить два

Спасибо БОЛЬШОЕ!!! Всё работает. Я так днём ранее делал, но начальный ютуб ролик генерируется каким то тяжелым яваскриптом движка и видео почему то подлагивает в нём в Опере 12.1 да и кнопка Youtube Full Screen исчезла куда то (чувствую из за глючного яваскрипт кода движка), поэтому я хотел выдернуть ссылку и вставить её в свой iframe.

Deff 20.08.2012 03:31

Fantom2067,
Да нет - подглючивало из-за параметра и незакрытого тега
Воть
<div id="videocontent" class="vep-videocontent"> 
<iframe width="640" height="360" src="http://www.youtube.com/embed/Bzj1UKePBOE?fs=1&feature=oembed&wmode=transparent&autoplay=1" frameborder="0" allowfullscreen=""/></iframe>
</div>



<script type="text/javascript">
var video = document.getElementById('videocontent')
var b = video.getElementsByTagName('iframe')[0]
b.src= b.src.replace(/\?.*$/,'')
</script>

Fantom2067 20.08.2012 04:01

Спасибо за помощь. Нестал плодить айфреймы и сделал всётаки по последнему вашему способу с заменой части ссылки.

Разобрался, ошибка с лагами и отсутствием кнопки полноэкранного просмотра вообще заключалась не в скрипте движка, а в браузере Opera 12.1, так как в FireFox всё отлично, кнопка на месте и видео идёт плавно.


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