Здравствуйте у меня есть строка с 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()));
}