Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Problem z wyrażeniem regularnym
Forum PHP.pl > Forum > Przedszkole
djpotwosss
Witajcie, mam problem z wyrażeniami regularnymi z funkcją preg_match

mam taki skrypt:
  1. $url = "http://jakislink.pl";
  2. $tekst=file_get_contents($url);
  3. preg_match('[<td><a href=\"(.*)\">(.*)</a>(.*)<a href=\"(.*)\">(.*)</a></td>]', $tekst, $wynik);
  4. echo 'Wynik to: ';
  5. $wynik[0]='<b>' . strip_tags($wynik[0]) . '</b>';
  6. echo ($wynik[0]);


HTML który chcę przerobić na wyrażenie regularne to:
  1. <td><a href="http://jakislink.pl">1 zdanie</a>
  2. - <a href="http://jakislink.pl">2 zdanie</a></td>


Niestety ten preg_match nie działa.. Wyświetla puste miejsce. Jak to powinno być poprawnie?

A gdy napiszę w funkcji <td><a href=\"(.*)\">(.*)</a> to wyświetla '1 zdanie'
Sephirus
Napisz dokładnie co chcesz wyciągać z tego html'a bo z tych wyrażeń to ciężko to stwierdzić.
djpotwosss
Chce wyciągnąć cały ten html ('1 zdanie' oraz '2 zdanie')
Sephirus
  1. preg_match('#<td><a\shref="[^"]+">([^<]+)</a>[^<]+<a\shref="[^"]+">([^<]+)</a></td>#si', $tekst, $wynik);
  2.  
  3. // tu masz całość:
  4. echo $wynik[0];
  5.  
  6. // tu masz zdanie 1 zdanie 2
  7. echo $wynik[1].$wynik[2];
djpotwosss
Witajcie, mam jeszcze taki problem z tym wyrażeniem:


Chcę to zamienić:
  1. {"nowplaying":{"9":{"artist_id":"ZMIENNELICZBY","artist":"JAKIEŚ ZDANIE","track_id":"JAKIŚ ID","title":"Jakieś ZDANIE","station":"stacja","artist_link":"http:\/\/link.pl\/artist\/ZMIENNELICZBY\/JAKIEŚ-ZDANIe\/","track_link":"http:\/\/link.pl\/track\/ZMIENNELICZBY\/JAKIEŚ-ZDANIE\/","station_link":"http:\/\/link.pl\/stacja\/12\/stacja\/"}},"time":"JAKIEŚLICZBY"}


Mam coś takiego:
  1. preg_match('#{"nowplaying":{"9":{"artist_id":"[^"]","artist":"[^"]","track_id":"[^"]","title":"[^#]","station":"Stacja","artist_link":"http:\/\/link.plt\/artist\/[^"]\/[^"]\/","track_link":"http:\/\/link.pl\/track\/[^"]\/[^"]\/","station_link":"http:\/\/link.pl\/stacja\/12\/stacja\/"}},"time":"[^"]"}#si', $zd1, $zd2);

Nie działa niestety..
abort
Do odczytywania JSON są odpowiednie funkcje, nie ma sensu babrać się w wyrażeniach regularnych.
Poczytaj sobie http://www.php.net/manual/en/book.json.php - a się nie zawiedziesz.
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.