Autor Zpráva
xtrip
Profil
Ahojte, potřeboval bych poradit, mam v souboru url.txt 100 url na web stránky. jsou seřazeny pod sebou. Problém je vtom, že jsou "osazeny" html tagy ato: <cite>www.stranky.tld/<b>index.php</b>?<b>blabla=bla</b>&amp;sort...</cite> a funkcí strip_tags() odstraním všechny tagy. Mím cílém je ale dostat samotnou adresu www.stranky.tld. Nevítě někdo, jestli existuje nějakéj script ať už php či javascript nebo perl? díky za odpovědi :)
Tori
Profil
Pokud má ten soubor jednotný formát jednotlivých řádků, tak by je šlo vyzobat regulárem (preg_match / preg_match_all v PHP).
xtrip
Profil
ano ma ... radek(enter)radek(enter) atp ...
xtrip
Profil
vypada to takto:

$text = '<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b></cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;page=1...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>
<cite>www.server.com/<b>index.php</b>?<b>a=registered</b>&amp;sort...</cite>";

na každém řádku je jina adresa a někdy je konec url (&amp;sort..) také jiný. potřebuji jen www.server.com/ ze všech řádku ... koukám na zmiňované fce a pochybuji
Tori
Profil
Pokud se dá spoléhat na to <cite> na začátku, tak bych načetla celý soubor do proměnné (bez vyhazování tagů) a vytáhla adresy takto:
preg_match_all('~<cite>((http://)?[^/]+)~i', $text, $vysledky);
Nalezené adresy budou v poli $vysledky[1]. Najde to všechno mezi <cite> a prvním lomítkem (s výjimkou lomítek v "http://")
xtrip
Profil
výsledek je jen "Array"
Radek9
Profil
xtrip:
To bude tím, že je to pole…
xtrip
Profil
ano, echo $vysledek[1]; ... vyledek je Arry

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: