Zadejte hledaný výraz...

PHP DOM – URL adresy a HTML entity

node
verified
rating uzivatele
(5 hodnocení)
30. 1. 2017 18:54:08
Ahojte,
mam HMTL dokument kde parsujem url adresy cez DOMDocument a mam problem s tym ze ked link obsahuje html entity, v 99% ide o "&", tak z domu dostanem enkodovany znak "&" a teda url je namiesto . Neskor robim rozne manipulacie kodu a obisiel som toto tak ze som enkodoval vsetky entity v tom html kode, ale neskor mi tento pristup zacal robit problemy, hlavne kvoli data atributom ktore obsahuju serializovny json a tak chcem vyriesit koren problemu a to je vracanie enkodovnaych adries z domu.
Neviete ako dostat z domu realnu hodnotu atributu bez enkodovania?
Priklad:
$dom = new DOMDocument;
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('link');
foreach ($nodes AS $node) {
// vypise https://fonts.googleapis.com/css?family=Roboto&subset=latin-ext
print $node->getAttribute('href');
}
---
Tak som to na koniec vyriesil tak ze pred spracovanim linku si skontrolujem ci existuje v html kode a ked nie tak ho escapnem cim sa vratia entity a mam relanu hodnotu.
30. 1. 2017 18:54:08
https://webtrh.cz/diskuse/php-dom-url-adresy-a-html-entity#reply1256071
TomasX
verified
rating uzivatele
(4 hodnocení)
30. 1. 2017 22:03:49
chová se to správně, html entity jsou způsob jak uložit správně text do domu, jakmile z něho text vytáhneš, vrátí se ti původní hodnota. Řešení je si text znovu převést na entity, tj. něco jako htmlentities($text);
30. 1. 2017 22:03:49
https://webtrh.cz/diskuse/php-dom-url-adresy-a-html-entity#reply1256070
Pro odpověď se přihlašte.
Přihlásit