Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.04.2014, 22:35
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Получить ссылку из iframe
Здравствуйте. Имею ссылку на .xml документ. В нём есть iframe( ссылка на видео)
Получить сам iframe с документа могу. Имеет такой вид
<iframe width="720" height="405" src="//ххх" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>

Подскажите как вытащить src="//ххх".
Ответить с цитированием
  #2 (permalink)  
Старый 08.04.2014, 00:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

var tmpElement = document.createElement('div');
tmpElement.innerHTML = '<тут твой код html>';
var src = tmp.getElementsByTagName('iframe')[0].src;
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 08.04.2014, 00:38
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Хотя в идеале должно быть так:
var html = '<iframe width="720" height="405" src="//ххх" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>';

var doc = (new DOMParser()).parseFromString(html, 'text/html');

var src = doc.querySelector('iframe').getAttribute('src');

alert(src);


К сожалению не работает в старых браузерах.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #4 (permalink)  
Старый 08.04.2014, 00:51
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Большое спасибо, полдела сделанно. В alert вывело //xxx. А как мне её в переменную вывести, что бы использовать дальше можно было.echo не получается. Как то обратится к ф-ции надо, или как. Простите за тупость. И ещё, дело в том ,что самого документа у меня как бы нет, всё в динамике. Есть переменная которая обращается к тегу <html>, (в котором прписан код ифрейма),в xml документе. Можно поместить в "var html" эту переменную? Если да, то как правильно прописать.

Последний раз редактировалось ureech, 08.04.2014 в 01:03.
Ответить с цитированием
  #5 (permalink)  
Старый 08.04.2014, 01:16
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от ureech
Есть переменная которая обращается к тегу <html>,
Что значит "переменная обращается"? Как это выглядет? Показывый как ты работаешь с xml, как код фрейма извлекаешь и тд.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #6 (permalink)  
Старый 08.04.2014, 01:27
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

$abc = 'http://rutube.ru/api/oembed/?url='.$url.'/&format=xml';
$xml = simplexml_load_file($abc);
$abc = (string) $xml->html;
В $abc у меня получактся этот iframe. echo $abc открывает плеер с роликом.
Сам документ можно посмотреть по ссылке:http://rutube.ru/api/oembed/?url=htt...cf/&format=xml
Ответить с цитированием
  #7 (permalink)  
Старый 08.04.2014, 03:06
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Ааа... дык PHP?
Ну тогда можешь DOMDocument заюзать:
<?php
$abc = '<iframe width="720" height="405" src="//xxx" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowfullscreen></iframe>';
$dom = new DOMDocument();
$dom->loadHTML($abc);
$iframe = $dom->getElementsByTagName('iframe')->item(0);
$src = $iframe->getAttribute('src');
echo $src;


Хотя решение тяжеловесное. Если нужна скорость, или хочется избавиться от лишней зависимости (расширение DOMDocument), можешь регулярку найти и заюзать. Хотя регулярки не советуют юзать для HTML.
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #8 (permalink)  
Старый 08.04.2014, 03:38
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Вот сейчас как раз и курю маны по регулярке, но подумал может ф-циями красивей получится. Спасибо за помощь и совет пойду вникать.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как получить значение атрибута тега iframe? Dimaz Общие вопросы Javascript 5 15.12.2012 15:40
Как получить src нужного iframe? snapson Библиотеки/Тулкиты/Фреймворки 3 13.03.2012 12:22
iframe и как получить доступ к его содержимому syegorius jQuery 13 14.04.2011 22:05
Получить ссылку на iframe PAMAC Javascript под браузер 2 23.02.2010 15:12
Как получить текст внутри iframe на другом домене? Alexander Majesty Events/DOM/Window 1 23.12.2009 22:10