2011-12-19 8 views
3

Я извлекаю информацию из заметки страницы из API Facebook. На выходе я получаю URL-адрес изображения, встроенный в HTML-код. Как я могу извлечь URL-адрес изображения из HTML-кода ниже, используя Javascript?Извлечь URL-адрес изображения из HTML-кода с помощью Javascript

<img class=\"photo_img img\" src=\"http://photos-c.ak.fbcdn.net/hphotos-ak-ash4/373909_207177302696060_189175211162936_438410_6588114253_a.jpg\" alt=\"\" /> 

ОБНОВЛЕНИЕ

выше тег изображения встроен в JSON-ответа от API Facebook. Я также использую Appcelerator для создания приложения iOS.

UPDATE 2

Я решил его:

json.data[i].message.match(/src=(.+?[\.jpg|\.gif|\.png]")/)[1] 

благодарными за всю помощь!

+0

Чтобы получить URL-адрес, вам нужно будет использовать регулярное выражение или какой-либо синтаксический анализ. Вы знакомы с ними? –

+0

Нет, извините только по имени. Вы знаете правильный синтаксис для этого? –

ответ

4

Вы можете использовать jQuery для извлечения любых данных из html. Используйте следующий код

$(function() { 
    $('img').attr("src"); 
}); 

Это вернет вам значение src только для первого экземпляра тега img. Если вам нужен определенный тег img, вы можете включить его в div.

+0

Как вы знаете, что он использует jquery? – Grrbrr404

+0

Его просто .. Я не знаю: P Я предлагаю, что он может использовать jQuery .. – rdsoze

+0

Я использую Appcelerator, поэтому прямо сейчас я не использую jQuery. –

1

Вы можете использовать код, как этот

var imgObj = document.getElementsByTagName('img')[0]; 
alert(imgObj.getAttribute('src')); 

Update

Если вы можете использовать JQuery, вы можете сделать следующее

// select all images with the class 'photo_img' 
var elements = $('img .photo_img').attr('src'); 

Вы можете перебирать элементы с петля или каждая функция jQuery.

+0

Это не работает: var imgObj = json.data [i] .message.getElementsByTagName ('img') [0]; –

+0

Я никогда не предлагал добавить его к вашему объекту JSON. Я думал, что это была страница hdml renderd, но теперь я вижу, что вы обновили свой вопрос. – Grrbrr404

+0

Да, извините. Я обновил свой вопрос. Но есть ли способ, используя regex, извлечь src тега img? –

4

Конечно, вы можете вытащить эти данные с помощью DOM. Но вопрос в том, сколько там будет тегов img? или вы можете дать некоторые идентификаторы для этих тегов?

return document.getElementById(id).src; будет делать это, если у него есть идентификатор.

или же, возможно, потребуется принять массив IMG тег с getElementsByTagname('img')

, если его единственный img тег, то его легко с этим. Вы можете пойти и на совпадение второго уровня.

+0

Это не работает: var imgObj = json.data [i] .message.getElementsByTagName ('img'); –

+0

Возможно, это не сработает для JSON. Его чистый HTML DOM. – Kris

+0

Но вывод HTML-кода. Разве нет способа извлечения src тега img? –

Смежные вопросы