Извлечь все URL Href PHP - PullRequest
       9

Извлечь все URL Href PHP

0 голосов
/ 10 марта 2011

Как мне преобразовать эти ссылки в sha1?и затем вернитесь к html, уже примененному с sha1


$dom = new DOMDocument;
$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');
foreach ($links as $link) {
    if (preg_match("/globo.com/i", $link->getAttribute('href'))) {
        $v = $link->getAttribute('href');
        $str = str_replace($v,'http://www.globo.com/?id='.sha1($v),$v);
        $str2 = str_replace($v,$str,$html);
        echo $str2."<br />";
    }
}

1 Ответ

0 голосов
/ 10 марта 2011

Вы можете просто вставить href обратно в элемент:

$dom = new DOMDocument;
$dom->loadHTML($html);
$links = $dom->getElementsByTagName('a');

foreach ($links as $link) {
    $href = $link->getAttribute('href');
    if (preg_match("/globo.com/i", $href)) {
        $newHref = 'http://www.globo.com/?id=' . sha1($v);
        $link->setAttribute('href', $newHref);
    }
}

, а затем экспортировать готовый HTML, используя saveHTML().

echo $dom->saveHTML();
...