HTML linkek cseréje dinamikusan
Kedves fórumozók!
A következő problémára keresek stabilabb megoldást:
Adott egy HTML kód, melyben vannak linkek (nem szövegesen, azok is rendes html tag-ek).
Ezeket a linkeket runtime ki kellene cserélni úgy, hogy az eredeti link urlencode-al bekerülne az url paraméter értékeként.
Pl.:
eredeti html: <a href="http://om.g/?asd" style="border:1px">Link</a>
kimenet: <a href="http://redi.r/?url=http%3A%2F%2Fom.g%2F%3Fasd" style="border:1px">Link</a>
Jelenleg így csinálom:Ezzel az a gond, ha van utána más attribútum is, akkor az is az url része lesz a kimenetben.
Mit kellene változtatni a regex-en?
■ A következő problémára keresek stabilabb megoldást:
Adott egy HTML kód, melyben vannak linkek (nem szövegesen, azok is rendes html tag-ek).
Ezeket a linkeket runtime ki kellene cserélni úgy, hogy az eredeti link urlencode-al bekerülne az url paraméter értékeként.
Pl.:
eredeti html: <a href="http://om.g/?asd" style="border:1px">Link</a>
kimenet: <a href="http://redi.r/?url=http%3A%2F%2Fom.g%2F%3Fasd" style="border:1px">Link</a>
Jelenleg így csinálom:
preg_replace_callback('/<a\\shref="(.*?)">(.*?)<\\/a>/is', function($m) use($uzenet) {
return '<a href="http://redi.r/?uzenet='.$uzenet.'&&url='.urlencode($m[1]).'">'.$m[2].'</a>';
}, $original);
Mit kellene változtatni a regex-en?
You can't parse [X]HTML with regex
Teljesen igazad van,