Autor Zpráva
Kroupek
Profil *
Z textů potřebuju hromadně odstraňovat všechny HTML tagy (včetně jejich ID, class atd ...), kromě tagů obsahující class="moje" - ty potřebuji ve zdroji ponechat tak jak jsou ... Tudíž pouhý strip_tags() mne asi nepomůže.
Jak bych to měl v PHP nejlépe udělat ....

Dík moc za navedení.
Keeehi
Profil
php.net/manual/en/book.dom.php
Vytvořit si DOMdocument objekt a funkci, která vezme DOMNode, zkontroluje, zda tam má ve výstupu být a případně ho tam přidá a rekurzivně se zavolá na všechny své potomky.

Co je zdrojem takového vstupu? Protože to vypadá dost nebezpečně.
Kroupek
Profil *
Přesouvám starý web, kde bylo mnoho článků, kde mi dřívější admini sekali HTML a inline styly jak se jim zachtělo a jak potřebovali .... Nejsem žádnej zkušenej PHP harcovník, takže s tím trochu zápasím.... Nyní to chci "očistit" a podřídit nové šabloně (novému CSS) .... a potřebuju ponechat pouze tagy, které generoval cíleně CMS systém viz. můj požadavek..... Těch class="..." je jen pár co potřebuji zachovat ...., naopak článků ke kontrole je asi 1200 :-(

Ty data budu po pročištění přeukládat znovu do DB.

Tvému doporučení zatím moc nerozumím, je někde nějaký český tutoriál jak s tím "Document Object Model" pracovat?

To musím instalovat, nebo to je běžně součástí PHP. Já mám na sdíleném hostingu PHP 7.0 .... a nejradši bych se to naučil nejdříve na svém PC localhostu, je to možné?
Keeehi
Profil
Je to součást PHP. Ovšem i PHP je rozdělené do knihoven a toto je v části XML. Knihovny se dají zapínat nebo vypínat, ale toto není nic exotického a čekal bych, že to na hostingu bude. Jelikož to je ale jednorázová činnost, tak to v důsledku ani na hostingu dělat nemusíš. Na localu si to vytvoříš a zkontroluješ správnost řešení, pak tím převedeš články a očištěná data jen nahraješ na server. Takže PHP se zapnutou XML knihovnou ti stačí jen u tebe.

Kroupek:
je někde nějaký český tutoriál jak s tím "Document Object Model" pracovat?
S tím ti neporadím. Jednak tutoriály nijak extra nepoužívám a hlavně nemám problém s angličtinou. Takže bych ti byl schopen maximálně poradit něco co by mi našel google což zvládneš i sám.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: