echo hyperlinks in array

时间:2015-08-07 01:53:00

标签: php arrays preg-match

I have an array that looks like this:

   [6625] => Trump class="mediatype"> href="/news/picture">Slideshow: [6628] => href="http://www.example.com/news/picture/god=USRTX1N84J">GOP [6630] => nation 

I need to be able to pull out anything within href="" of the array and put into a new one.

I have tried:

      <?php
$homepage = file_get_contents('http://www.example.com/');
$arr = explode(" ",$homepage);


function getStringInBetween($string, $start, $end){
    $string = " " . $string;
    $initial = strpos($string, $start);

    if ($initial == 0) return "";

    $initial += strlen($start);
    $length = strpos($string, $end, $initial) - $initial;

    return substr($string, $initial, $length);
}

echo getStringInBetween($arr[0], 'href="', '"')
?>

1 个答案:

答案 0 :(得分:1)

Try this code, adapt it to suit you,

<?php
$homepage = file_get_contents('http://www.example.com/');
$arr = explode(" ",$homepage);

function getStringInBetween($string, $start, $end){
    $string = " " . $string;
    $initial = strpos($string, $start);

    if ($initial == 0) return "";

    $initial += strlen($start);
    $length = strpos($string, $end, $initial) - $initial;

    return substr($string, $initial, $length);
}

foreach ($arr as $val) {
    if (strpos($val, 'href') !== false) {
        echo getStringInBetween($val, 'href="', '"');
    }
}
?>

This example when ran outputted google.com/hello.