Wpis z mikrobloga

Mirki, pytanko mam szybciutkie do was, chciał bym nauczyć się wyrażeń regularnych w #php. Wymyśliłem sobie zadanie, mam jakiś string, wewnątrz niego jakieś teksty i kilka linków:
test
oraz kilka innych, np:
test2

teraz chciał bym wyciągnąć to co jest między znacznikami ten tekst, pamiętajmy że link może mieć klasę, title itd. ale nie musi!

pregmatchall("/(.+)<\/a>/", $string, $matches, PREGSETORDER);

to zwraca mi tablicę, ale nie tylko to co jest wewnątrz tutaj ale również href title i class, wiem że dałem tam (.+), bo może być w tym miejscu cokolwiek, ale nie chcę aby to lądowało do tej tablicy, jak do tego podejść prawidłowo ?

#programowanie #php #wyrazeniaregularne
  • 3
  • Odpowiedz
@Govr: najprościej chyba

(.*?)
i wtedy pierwszą tablice będziesz miał całość tego wyrażenia, a w każdej kolejnej nawiasy, w tym przypadku "tutaj" dla każdej złapanej linii.
Przy okazji polecam sobie testować regexy np tu. http://www.phpliveregex.com/

EDIT: w sumie to nie do końca odpowiedziałem na Twoje pytanie, w każdym razie oprócz całości wyrażenia to nawiasami () wyciągasz te dane, które chcesz zachować. Nie słyszałem o pomijaniu całości
  • Odpowiedz