2013-10-02 5 views
0

Мне нужно получить из текста все элементы «src». «ЦСИ» может быть "или» текст найден в колодце, но если элемент имеет идентификатор, стиль ... Они схватили мне нужно только значение Srcнеобходимо найти из текста все элементы «src»

Мой код:...

$html = 'text text <img src="img1.png"/> as as <img src=\'second.gif\' id ="test" /> as'; 

preg_match_all('/src=("|\')([^"]*)("|\')/', $html, $htmlSrc); 

echo '<pre>'; 
print_r($htmlSrc); 

Array 
(
    [0] => Array 
     (
      [0] => src="img1.png" 
      [1] => src='second.gif' id =" 
     ) 

    [1] => Array 
     (
      [0] => " 
      [1] => ' 
     ) 

    [2] => Array 
     (
      [0] => img1.png 
      [1] => second.gif' id = 
     ) 

    [3] => Array 
     (
      [0] => " 
      [1] => " 
     ) 

) 

ответ

0

Regexp это плохая идея, и вы, вероятно, в конечном итоге неосновательный и ненадежного кода было бы легко и надежно, если вы используете HTML-парсер вы можете найти пример здесь:.. http://simplehtmldom.sourceforge.net/

+0

Спасибо, но для одного запроса зачем загружать эту большую библиотеку. – lolalola

+1

Всегда есть [DOMDocument] (http://php.net/manual/en/class.domdocument.php). – Mark

+0

Я не знаю, сколько раз вы его используете :) Это просто решение. – Kuzgun

0
preg_match_all('/src="|\'([^"\']*)"|\'/', $html, $htmlSrc); 
print_r($htmlSrc[2]); 

Кажется, лучше работать .

+0

Спасибо за помощь, но этот код по-прежнему не работает. – lolalola

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