Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]preg_match_all
Forum PHP.pl > Forum > Przedszkole
-obcy-
Hej,

Problem jest tego typu, mam text: (testowy)
  1. <a class=s target=_blank href='sdfsdfsdf'>sdfsdfsdf</a><a class=s target=_blank href='sdfsdfsdfq'>sdfsdfsdfq</a><a class=s target=_blank href='sdfsdfsdfw'>sdfsdfsdfw</a><a class=s target=_blank href='sdfsdfsdf31'>sdfsdfsdf31</a><a class=s target=_blank href='sdfsdfsdf23'>sdfsdfsdf23</a><a class=s target=_blank href='sdfsdfsdf'>sdfsdfsdf</a><a class=s target=_blank href='sdfsdfsdf1'>sdfsdfsdf1</a><a class=s target=_blank href='sdfsdfsdf32'>sdfsdfsdf32</a><a class=s target=_blank href='sdfsdfsdf'>sdfsdfsdf</a><a class=s target=_blank href='sdfsdfsdf3'>sdfsdfsdf3</a>


i preg_match_all
preg_match_all("|<a class=s target=_blank href='(.+)'>(.+)<\/a>|U", $data, $links, PREG_SET_ORDER);
i zamiast zaznaczyc kazdy link oddzielnie typu:
sdfsdfsdf - sdfsdfsdf
sdfsdfsdfq - sdfsdfsdfq
itd.

to zaznacza mi całość, od pierwszego hrefa, do ostatniego zakonczenia </a>


mozna to jakos oddzielnie wyciagnac ? nie bardzo znam wyrazenia regularne, przynajmniej nie na tyle

Pozdr, dzieki
erix
A wyświetl sobie zawartość $links przez var_dump" title="Zobacz w manualu PHP" target="_manual. Wg mnie, wszystko jest ok.
ayeo
Prawdopodobnie chodzi o zachłanność. Użyj "?" w swoim patternie. Pozdrawiam!
nevt
  1. <?php
  2. preg_match_all("|<a class=s target=_blank href='(.+?)'>(.+?)</a>|U", $data, $links, PREG_SET_ORDER);
  3. ?>

a przy okazji, atrybuty tagów HTML umieszczamy w "cudzysłowach" a nie w 'apostrofach' ... więc tak naprawdę powinno być:
  1. <?php
  2. preg_match_all('|<a class=s target=_blank href="(.+?)">(.+?)</a>|U', $data, $links, PREG_SET_ORDER);
  3. ?>
-obcy-
dzieki wielkie za pomoc!

pozdrawiam
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.