Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [php] usuwanie znaczników HTML
BugsBunny
post
Post #1





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


Witam,

mam skrypt, który pobiera mi jakąś tam stronę zawierającą cennik usług jakiejś tam firmy. Cała strona jest zawarta jako string w zmiennej.
Jak najszybciej dobrać się do cen? Chodzi o to czy np jest jakas funkcja którą mi wytnie znaczniki HTML zostawiając samą treść ?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
kornel-php
post
Post #2





Grupa: Zarejestrowani
Postów: 210
Pomógł: 20
Dołączył: 7.07.2006
Skąd: Krotoszyn

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


strip_tags
preg_match_all
Go to the top of the page
+Quote Post
-Gość-
post
Post #3





Goście







Oto funckcja ktura usuwa całe tagi HTML razem z atrybutami, ale bez zawartości,
  1. <?php
  2. function notags($content) {
  3.  $step=0;
  4.  // 0=poza tagiem
  5.  // 1=w tagu
  6.  // 2=w "
  7.  // 3=w '
  8.  $len=strlen($content);
  9.  $new="";
  10.  for($i=0;$i<$len;$i++) {
  11. $char=substr($content,$i,1); //pobierz znak
  12. if($step==0) {
  13.  if($char=="<") {
  14. $step=1;
  15.  } else {
  16. $new.=$char;
  17.  }
  18. } elseif($step==1) {
  19.  if($char==">") {
  20. $step=0;
  21.  } elseif($char=='"') {
  22. $step=2;
  23.  } elseif($char="'") {
  24. $step=3;
  25.  }
  26. } elseif($step==2) {
  27.  if($char=='"') {
  28. $step=1;
  29.  }
  30. } elseif($step==3) {
  31.  if($char=="'") {
  32. $step=1;
  33.  }
  34. }
  35.  }
  36. }
  37. ?>

Użycie: notags($strona) //w miejsce $strona wstaw treść strony
Usuń też nagłówek strony i stopkę (przy użyciu np. substr()), ponieważ może zostać wyświetlone zawartości tagów <title> oraz <script>
Go to the top of the page
+Quote Post
BugsBunny
post
Post #4





Grupa: Zarejestrowani
Postów: 206
Pomógł: 4
Dołączył: 2.04.2005

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


troche dostosowałem do swoich potrzeb, poprawiłem i śmiga
  1. <?php
  2. function notags($content) {
  3.  $step=0;
  4.  // 0=poza tagiem
  5.  // 1=w tagu
  6.  
  7.  $len=strlen($content);
  8.  $new="";
  9.  for($i=0;$i<$len;$i++) 
  10.  {
  11.  $char=substr($content,$i,1); //pobierz znak
  12.  if($step==0) 
  13. {
  14.  if($char=="<")
  15. {
  16. $step=1;
  17.  } 
  18. else 
  19. {
  20. $new.=$char;
  21.  }
  22. } 
  23. elseif($step==1) 
  24. {
  25.  if($char==">") 
  26. {
  27. $step=0;
  28.  }
  29. } 
  30.  }
  31.  return $new;
  32. }
  33. ?>

P.S. w temacie raczej chodziło o to czy nie ma takiej funkcji wbudowanej w PHP
Go to the top of the page
+Quote Post
revyag
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 2 258
Pomógł: 16
Dołączył: 21.09.2004
Skąd: Kielce

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


No bez przesady.
  1. <?php
  2. $new = ereg_replace('/&w;/', '',strip_tags($content));
  3. ?>
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 23.08.2025 - 06:47