Jak čsprávně istit HTML na prostý text? – PHP – Fórum – Programujte.com
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

Jak čsprávně istit HTML na prostý text? – PHP – Fórum – Programujte.comJak čsprávně istit HTML na prostý text? – PHP – Fórum – Programujte.com

 

fix0
Stálý člen
12. 11. 2019   #1
-
0
-

Ahoj,

potřebuji z HTML textu vygenerovat XML element. Jelikož HTML nelze do XML dokumentu vkládat, protože HTMl je vlastně XML a narušovalo by DOM strukturu. Použil jsem funkci strip_tags(), problém je v tom, že HTML tagy se sice očistili, ale v textu zůstávají nějaké haldy typu &nbsp.

Chybovka:

<b>Warning</b>:  SimpleXMLElement::__construct(): Entity: line 512: parser error : Entity 'nbsp' not defined in <b>/var/www/clients/client2/web2/web/skript.php</b> on line <b>162</b>

PHP:

$xml = "<ELEMENT>".strip_tags($row["column"])."</ELEMENT>";

$xmlobj=new SimpleXMLElement($xml);

Jak to prosím zařídit, aby se toto nestávalo?

Děkuji moc.

Nahlásit jako SPAM
IP: 31.30.173.–
Kit+15
Guru
12. 11. 2019   #2
-
+1
-
Zajímavé
fix +

#1 fix
Metod je víc, ale určitě ne tahle. Pokud chceš jen vložit HTML jako jeden element do XML, můžeš použít htmlspecialchars. Jinak nacucnout do DOMu jako HTML a exportovat jako XML.

Slepováním stringů XML určitě nedělej. Je příliš velké riziko, že něco nevyjde, například & v textu to nerozchodí.

Nahlásit jako SPAM
IP: 46.135.90.–
Komentáře označují místa, kde programátor udělal chybu nebo něco nedodělal.
fix0
Stálý člen
14. 11. 2019   #3
-
0
-

Funkcí htmlspecialchars() ošetřuji vstupy z formulářů nedošlo mi to, díky za tip.

Co se týká slepování stringu, vím, že se to obecně nedoporučuje, ale nevidím v tom žádnou výhodou kromě toho, že je pak kód sice čistější, ale zároveň pro mě nepřirozený. Ošetřil jsem všechny výjimky přímo v PHP a i při slepování by to mělo být v pohodě. Pak je otázkou zda tohle slepování nebude třeba zpomalovat.

Popravdě jsem se už naučil pracovat s XML pomocí instance třídy SimpleXMLElement(), ale když mi to funguje slepováním, tak už jsem línej to překovávat. :-D

Nahlásit jako SPAM
IP: 31.30.173.–
Zjistit počet nových příspěvků

Přidej příspěvek

Toto téma je starší jak čtvrt roku – přidej svůj příspěvek jen tehdy, máš-li k tématu opravdu co říct!

Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku

×Vložení zdrojáku

×Vložení obrázku

Vložit URL obrázku Vybrat obrázek na disku
Vlož URL adresu obrázku:
Klikni a vyber obrázek z počítače:

×Vložení videa

Aktuálně jsou podporována videa ze serverů YouTube, Vimeo a Dailymotion.
×
 
Podporujeme Gravatara.
Zadej URL adresu Avatara (40 x 40 px) nebo emailovou adresu pro použití Gravatara.
Email nikam neukládáme, po získání Gravatara je zahozen.
-
Pravidla pro psaní příspěvků, používej diakritiku. ENTER pro nový odstavec, SHIFT + ENTER pro nový řádek.
Sledovat nové příspěvky (pouze pro přihlášené)
Sleduj vlákno a v případě přidání nového příspěvku o tom budeš vědět mezi prvními.
Reaguješ na příspěvek:

Uživatelé prohlížející si toto vlákno

Uživatelé on-line: 0 registrovaných, 45 hostů

 

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý