Wyrażenia regularne PHP


(adasqu0524) #1

Mam problem z wyrażeniami regularnymi otóż potrzebuje wyszukiwać wszystkie linki na stronie.
Znalazłem wyrażenie ((\:href=\"|(http(s?))\:\/\/){1}\S+) któro działa dla href=“http://www.test.pl/docs.php”> ale nie działa gdy w href nie ma http://
Chciałbym aby wyrażenie wycinało mi tylko link czyli znaki pomiędzy cudzysłowy ale nie mam pojęcia jak to rozwiązać.


(Pablo_Wawa) #2

Szczerze mówiąc nie rozumiem tego Twojego wyrażenia, tam jest sporo zbędnych znaków. Ja bym użył takiego:
href="((?:http(s?)\:\/\/)?[^"]*)"