Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [regexp]Wyciaganie URLi
Forum PHP.pl > Forum > PHP
tnkywe
Witam,
Moglby ktos podrzucic fragment skryptu php ktory wycigalby wszystkie urle (nie mowie tylko o linkach w <a> ) z danej zmiennej?
Probowalem bawic sie z preg_match_all ale nie bylem w stanie napisac zadnej odpowiedniej regulki sad.gif Z gory dzieki za wszelkiego rodzaju sugestie.

Pozdrawiam,
Marcin
treewood
nie wiem czy to to co ci trzeba ale przyjzyj sie lepiej komentarzom do tej funkcji o ktorej pisales: http://pl.php.net/manual/pl/function.preg-match-all.php
tnkywe
Przejrzelem juz wczesniej. narazie mam 2 takie fragmenty kodu ale zadnen nie zwraca tego co powinien:
Kod
$html='aaaaaaa http://to.jest.adres.com/test.html?zmienna=1 aaaaaaa';

preg_match_all("/(http[s]?):\/\/{1}([\w\.-]+)\.(\w{2,6}){1}/", $html, $matches);
print_r($matches);

preg_match_all('/(http|https):\/\/([^:\/\s]+)((\/\w+)*)(([\w\-\.]+\.[^#?\s]+)(.*?)(#[\w\-]+)?)?/',$html,$matches);
print_r($matches);


Zwraca:
Kod
Array
(
    [0] => Array
        (
            [0] => http://to.jest.adres.com
        )

    [1] => Array
        (
            [0] => http
        )

    [2] => Array
        (
            [0] => to.jest.adres
        )

    [3] => Array
        (
            [0] => com
        )

)
Array
(
    [0] => Array
        (
            [0] => http://to.jest.adres.com/test
        )

    [1] => Array
        (
            [0] => http
        )

    [2] => Array
        (
            [0] => to.jest.adres.com
        )

    [3] => Array
        (
            [0] => /test
        )

    [4] => Array
        (
            [0] => /test
        )

    [5] => Array
        (
            [0] =>
        )

    [6] => Array
        (
            [0] =>
        )

    [7] => Array
        (
            [0] =>
        )

    [8] => Array
        (
            [0] =>
        )

)
siemakuba
Kod
$html=' aaaaaaa http://to.jest.adres.com/test.html?zmienna=1 aaaaaaa http://www.wp.pl i potem jeszcze https://www.secure.com';
preg_match_all('/\s(https?:\/\/\S*)/si', $html, $m);
print_r($m);


wynik:
Kod
Array
(
    [0] => Array
        (
            [0] =>  http://to.jest.adres.com/test.html?zmienna=1
            [1] =>  http://www.wp.pl
            [2] =>  https://www.secure.com
        )

    [1] => Array
        (
            [0] => http://to.jest.adres.com/test.html?zmienna=1
            [1] => http://www.wp.pl
            [2] => https://www.secure.com
        )
)


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