Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]wyrazenia regularne
Forum PHP.pl > Forum > Przedszkole
bialko0019
Witam, chciałbym prosić o poradę, bo troszeczkę tego nie rozumiem, czytam o tych wyrażeniach i doczytać jakoś nie mogę, a na forum zawsze można poprosić o poradę winksmiley.jpg

Tak więc, chciałbym w stringu
  1.  
  2. $string = 'ala ma kota a <span class="klasa">kociak</span> ma kotke';



i chciałbym wyciągnąć dane pomiędzy <span class="klasa"> a </span> czyli słowo kociak.

Chciałbym uży funckji preg_match().

No więc, teraz wyrażenie regularne. Czyli '^.\<\span class=\"klasa\"\>[^.*$]\<\/span\>$' ?

Nie interesują mnie żadne dane jakie występują przez <span.... ile jest tam znaków, jaka linia nic - przed <span class="klasa"> nic się nie liczy, liczy się wyrażenie które występuje pomiędzy tymi w/w tagami . Co poradzicie ?
bastard13
Zmienna $match jest tablicą z interesującymi cię słowami:
  1. $string = 'ala ma kota a <span class="klasa">kociak</span> ma kotke';
  2. preg_match('/<span class="klasa">.*<\/span>/',$string,$match);
  3. var_dump($match);
erix
Jak nie masz w środku par okrągłych nawiasów, to nic nie zwróci prócz preg_match=bool.
bastard13
Faktycznie, jak nie ma nawiasów to w $match jest całe '<span class="klasa">kociak</span>'.
A żeby zwróciło wszystkie wyniki jeżeli takich tagów jest więcej to:
  1. preg_match_all('/<span class="klasa">([^<>]+)<\/span>/',$string,$match);

Wtedy wszystkie wyniki masz w $match[1]
bialko0019
acha, no własnie, tylko , że chcę z jednego serwisu wyciągnąć proste dane, liczby i inne znaki. Otwieram stronę i tam jest wiele znaczników <strong>cos</strong> i chcę wyciągnąć wszystkie pomiędzy <strong>.*</strong> do jednej tablicy, a nie wychodzi mi takim zapytaniem:

<?php

$url="http://example.pl";
$tekst = file_get_contents($url);
preg_match('@\<strong\>.*\<\/strong\>@', $tekst, $wynik);

print_r($wynik);

?>

i nie ma żadnej wartości. ?


Już sobie poradziłem, dziękuję z aporady!
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.