php
  • src
  • 2010-08-18 8 views 0 likes 
    0
    $variable = '<img src="http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG" height="32" width="32" alt=""/>'; 
    

    이 이미지의 src를 얻는 방법?PHP 이미지 가져 오기 src

    처럼 :

    $src = 'http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG';

    감사합니다.

    +0

    에 $ variable''에서 무엇을, 예를 들어, 다른 HTML하거나 문자열 있는가 – Gordon

    +0

    당신이 당신의 문제를 조정할 수 – pltvs

    답변

    4

    여기에 HTML 파서를 사용할 수 있습니다. 이 중 하나를 참조하십시오 : http://simplehtmldom.sourceforge.net/ (전체 페이지뿐만 아니라 노드에서도 작동합니다.)

    +2

    실제로 대신 DOM을 사용 권장 타사 대안을? 문자열 구문 분석 : [phpQuery] (http://code.google.com/p/phpquery/), [Zend_Dom] (http://framework.zend.com/manual/en/zend.dom.html), [QueryPath] (http://querypath.org/) 및 [FluentDom] (http://www.fluentdom.org)을 참조하십시오. 그러나 OP의 UseCase의 경우 HTML/DOM 파서가 과도 할 수도 있습니다. – Gordon

    6

    사용 정규식

    preg_match('@src="([^"]+)"@' , $variable , $match); 
    

    그리고 SRC는 인 print_r ($ 일치)를 참조 $ 매치에있을 것입니다. 하지만 (등 "에 대하여 '와 같은) 보편적 인 솔루션을 원한다면이,이 상황만을위한 것입니다 다운로드. 파서.

    +0

    사실, Regex가 정당화되고 원하는 결과에 도달하기 위해 HTML 파서를 완성한 것보다 더 적합하다고 생각하는 드문 경우 중 하나입니다. – Gordon

    +0

    이 정규식이 작동하지 않고 비어있는 배열을 제공합니다. – James

    +0

    @WorkingHard가 정상적으로 작동합니다. – Gordon

    1

    사용 HTML DOM HTML/DOM을 사용하고 스크립트에 simple_html_dom.php 파일을 포함한다.

    는 다음과 같이 이미지 URL을 얻을 :

    $html = str_get_html('<img src="http://www.gravatar.com/avatar/66ce1f26a725b2e063d128457c20eda1?s=32&d=identicon&r=PG" height="32" width="32" alt=""/>'); 
    
    // Find all images 
    foreach($html->find('img') as $element) 
         echo $element->src . '<br>'; 
    
    관련 문제