Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]preg_match_all, Jak "wydobyc" tresc z HTML?
Twist
post 31.05.2012, 11:43:53
Post #1





Grupa: Zarejestrowani
Postów: 174
Pomógł: 11
Dołączył: 12.10.2008
Skąd: Dublin

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


ROZWIAZANE:

Problem tkwil w tym, ze nie przewidzialem, ze pobrany HTML moze byc niepoprawny, tzn:

  1. <tr><span></tr></span>


zamiast

  1. <tr><span></span></tr>

------------------------------------------------------

w $contents mam dokument HTML w ktorym powtarzaja sie takie wiersze:
  1. <span class="Menu1">Tutaj tresc (liczby i litery) </span>


jak to odczytac i powrzucac do tablicy?
probowalem tak:

  1. preg_match_all('<span class=\"Menu1\">(.*?)</span>@si',$contents,$wynik2);
  2.  
  3.  
  4. var_dump($wynik2);
  5.  


ale zwraca error:
  1. Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '('


EDIT: zly kod wkleilem
EDIT2: wkoncu zrobilem tak:

  1. preg_match_all('@<span class="Menu1">(.*?)</span>@si', $contents, $wynik2);


ale dostaje pusta tablice

Ten post edytował Twist 31.05.2012, 13:22:02
Go to the top of the page
+Quote Post
Tajgeer
post 31.05.2012, 11:55:03
Post #2





Grupa: Zarejestrowani
Postów: 290
Pomógł: 48
Dołączył: 11.05.2008
Skąd: Kielce

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


Polecam http://simplehtmldom.sourceforge.net/
Go to the top of the page
+Quote Post
Twist
post 31.05.2012, 12:43:37
Post #3





Grupa: Zarejestrowani
Postów: 174
Pomógł: 11
Dołączył: 12.10.2008
Skąd: Dublin

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


A samym preg_match_all nic tu nie zdzialam?
Nie bardzo wiem jak uzyc tego narzedzia.
Go to the top of the page
+Quote Post
IProSoft
post 31.05.2012, 13:09:21
Post #4





Grupa: Zarejestrowani
Postów: 479
Pomógł: 97
Dołączył: 6.09.2011
Skąd: php.net :)

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


Z Twojego postu:
  1. $contents = 'Tutaj trescTutaj tresc<span class="Menu1">Tutaj tresc (liczby i litery) </span>Tutaj trescTutaj trescTutaj tresc';
  2. preg_match_all('@<span class="Menu1">(.*?)</span>@si', $contents, $wynik2);
  3. print_r($wynik2);

działa ok.


--------------------
Manual prawdę Ci powie.
Go to the top of the page
+Quote Post
Twist
post 31.05.2012, 13:20:07
Post #5





Grupa: Zarejestrowani
Postów: 174
Pomógł: 11
Dołączył: 12.10.2008
Skąd: Dublin

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


Rozwiazalem problem, dzieki za pomoc panowie!
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 Wersja Lo-Fi Aktualny czas: 19.07.2025 - 17:26