Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [inne][PHP]Php - usuwanie z html-a tylko określonych tagów`
doktorek
post
Post #1





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 26.07.2010

Ostrzeżenie: (0%)
-----


Witam

Jak zrobić prosty parser, który z ciągu HTML-a wywali mi wszystkie <font ... > </font> i np. <table ... > i </table> itd. ?

Niektóre tagi chcę zostawić a niektóre wywalić smile.gif

Pozdrawiam
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 3)
phpion
post
Post #2





Grupa: Moderatorzy
Postów: 6 072
Pomógł: 861
Dołączył: 10.12.2003
Skąd: Dąbrowa Górnicza




strip_tags
Go to the top of the page
+Quote Post
doktorek
post
Post #3





Grupa: Zarejestrowani
Postów: 32
Pomógł: 0
Dołączył: 26.07.2010

Ostrzeżenie: (0%)
-----


... tak

dziekuje a jak zrobic zeby system zostawial tagi o okreslonych parametrach.

Np. usuwal <font color=""> a nie usuwal <font size=""> albo usuwal sam parametr (usunal color="") z <font size="" color"">

pzdr
Go to the top of the page
+Quote Post
everth
post
Post #4





Grupa: Zarejestrowani
Postów: 782
Pomógł: 153
Dołączył: 21.07.2010

Ostrzeżenie: (0%)
-----


Polecam DOMDocument oraz Xpath. U ciebie na szybko mogłoby wyglądać to tak:
  1.  
  2. //Cały twój kod twojej strony (musi być pozbawiony błędów i ostrzeżeń)
  3.  
  4. echo parseHtml(ob_get_flush());
  5.  
  6. function parseHtml($html) {
  7. $doc = new DOMDocument();
  8. $doc->loadHTML($html);
  9.  
  10. $xpath = new DOMXPath($doc);
  11. $entries = $xpath->query("//a"); //znajdź za pomocą Xpath wszystkie elementy o tagu A
  12. foreach ($entries as $node) {
  13. $node->setAttribute('src','urlDo mojej strony'); // ustawiam atrybut src
  14. $node->removeAttribute('class'); // usuwam cały atrybut class
  15. $node->getAttribute('id'); // pobieram attrybut id
  16. }
  17.  
  18. return $doc->saveHTML();
  19. }


Ten post edytował everth 26.07.2010, 13:14:26


--------------------
Już mi się ani wiedzieć, ani tym bardziej myśleć nie chce.
[Think different]!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 09:18