@177333747

Как зашифровать значение атрибута тега?

Здравствуйте у меня есть строка с html кодом мне нужно извлечь значение атрибута тега и вычислить md5 hash от этого значения, и вставить назад в строку. Результатом должна быть измененная строка.
Я смог только вставить вместо значений атрибутов случайный хэш-код. Не могу понять как извлечь значения атрибутов, и захэшировать именно это значение.

function hash()
{
    $html = '<!DOCTYPE html>
    <html lang="en">
    <head>
    <body>
        <p></p>
        <script src="/script.js"></script>
        <a href ="htttp//examle.com"></a>
        <p></p>
        <a></a>
        <img src="/image.png">
    </body>
    
    </html>';
    
    $dom = new DOMDocument;
    $dom->loadHTML($html);
    

    $anch = $dom->getElementsByTagName('a');
    $image = $dom->getElementsByTagName('img');
    $script = $dom->getElementsByTagName('script');
   
    foreach ($anch as $a) {
       
        $a->setAttribute('href', md5(rand()));
        
    }
   
    foreach ($image as $img) {

        $img->setAttribute('src', md5(rand()));
    }
    foreach ($script as $scr) {

        $scr->setAttribute('src', md5(rand()));
    }
    
    echo nl2br( htmlspecialchars($dom->saveHTML()));
}
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@uni_rush
foreach ($anch as $a) {

    $anch_href = $a->getAttribute('href');
    $a->setAttribute('href', md5($anch_href));

}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы