Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Wycinanie adresu z okreslonego ciagu znakow, jak to zrobić prościej
Octobus
post
Post #1





Grupa: Zarejestrowani
Postów: 259
Pomógł: 1
Dołączył: 3.07.2011

Ostrzeżenie: (0%)
-----


Witam,
Muszę z określonego ciągu znaków wyciągnąć adres internetowy oraz domene. Są dwa schematy danych
1.
Kod
http://adres.pl/sciezka-do-strony.html

2.
Kod
http://adres.pl/sciezka-do-strony.html I:costam Q:jakistekst


Sposob ktory mi przyszedl do glowy to sprawdzac czy istnieje spacja, robic explode i parse_url na [0]. Szukam jednak jakiegos szybszego sposobu poniewaz lista bedzie zawierala nawet 100 000 adresow i moge sie nie wyrobic z maksymalnym czasem wykonywania skryptu. Myslicie ze da sie to zrobic w mniejszej ilosci krokow ?
Go to the top of the page
+Quote Post
djgarsi
post
Post #2





Grupa: Zarejestrowani
Postów: 459
Pomógł: 26
Dołączył: 1.06.2009

Ostrzeżenie: (0%)
-----


Swego czasu zrobiłem sobie pewną funkcję z wyrażeniami regularnymi. Może się przyda, wystarczy troszke zmienić:

  1. function links($text)
  2. {
  3. $text= preg_replace("/(^|[\n ])([\w]*?)((ht|f)tp(s)?:\/\/[\w]+[^ \,\"\n\r\t<]*)/is", "$1$2<a href=\"$3\" rel=\"nofollow\" target=\"_blank\">$3</a>", $text);
  4. $text= preg_replace("/(^|[\n ])([\w]*?)((www|ftp)\.[^ \,\"\t\n\r<]*)/is", "$1$2<a href=\"http://$3\" rel=\"nofollow\" target=\"_blank\">$3</a>", $text);
  5. $text= preg_replace("/(^|[\n ])([a-z0-9&\-_\.]+?)@([\w\-]+\.([\w\-\.]+)+)/i", "$1<a href=\"mailto:$2@$3\" rel=\"nofollow\" target=\"_blank\">$2@$3</a>", $text);
  6. return($text);
  7. }


--------------------
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 12:53