extract image src from text?

前端 未结 3 1532
不知归路
不知归路 2020-12-20 02:10

I have a variable $content that contains some text and images in this form (unknown amount of images):

    text text text text 

        
相关标签:
3条回答
  • 2020-12-20 02:29
        $dom = new domDocument;
        $dom->loadHTML($html);
        $dom->preserveWhiteSpace = false;
        $imgs  = $dom->getElementsByTagName("img");
        $links = array();
        for($i = 0; $i < $imgs->length; $i++) {
           $links[] = $imgs->item($i)->getAttribute("src");
        }
    
    0 讨论(0)
  • 2020-12-20 02:31

    Here is an example using simplehtmldom:

    include("simple_html_dom.php");
    $content = '
    text text text text <img src="path/to/image/1">text text text text
        <img src="path/to/image/2">
    text text text text text text text text text text text text text text text text <img src="path/to/image/3"><img src="path/to/image/4">text text text text 
    <img src="path/to/image/5"> ';
    
    $html = str_get_html($content);
    $images = $html->find("img");
    $links = array();
    foreach($images as $image) {
      $links[] = $image->src;
    }
    
    print_r($links);
    

    Output:

    Array
    (
        [0] => path/to/image/1
        [1] => path/to/image/2
        [2] => path/to/image/3
        [3] => path/to/image/4
        [4] => path/to/image/5
    )
    
    0 讨论(0)
  • 2020-12-20 02:33

    Using regex:

    <?php
    
    $str = '    text text text text <img src="path/to/image/1">text text text text
        <img src="path/to/image/2">
    text text text text text text text text text text text text text text text text <img src="path/to/image/3"><img src="path/to/image/4">text text text text
    <img src="path/to/image/5">';
    
    
    preg_match_all('@<img.*src="([^"]*)"[^>/]*/?>@Ui', $str, $out);
    
    print_r($out[1]);
    
    ?>
    

    Output:

    Array
    (
        [0] => path/to/image/1
        [1] => path/to/image/2
        [2] => path/to/image/3
        [3] => path/to/image/4
        [4] => path/to/image/5
    )
    
    0 讨论(0)
提交回复
热议问题