Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Wyrazenie regularne a adres www
munky
post
Post #1





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 7.01.2005

Ostrzeżenie: (10%)
X----


Witam

Mam pewien problem a mianowicie chcialbym w tekscie wyszukiwac adresow www mam wzorzec taki

  1. <?php
  2. '/(http[s]?):\/\/{1}([\w\.-]+)\.(\w{2,6}){1}/'
  3. ?>


w sumie zly (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

dalej staram sie wykorzystac funkcje ereg_replace zeby znalesc adre i podstawic wyrazenie ale cos mi nie dziala czy ktos ma pomysl jak wyszukiwac i zamianiac string na adres ?

pozdrawiam
munky
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 4)
hwao
post
Post #2


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




1. preg sa szybsze od ereg (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)
2. jak chcesz zlapac to nie replace:) preg_match_all()
3. Manuala mi mowi ze to moze dzialac:>

  1. <?php
  2.  preg_match_all("/http:\/\/?[^ ][^<]+/i",$str,$lnk);
  3. ?>
Go to the top of the page
+Quote Post
munky
post
Post #3





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 7.01.2005

Ostrzeżenie: (10%)
X----


Hmmm probuje i nie daje rady (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

Moze rasz jezcze podam co robie mam klase a w niej metode

  1. <?php
  2.  public function getDescription(){
  3. return preg_match_all('/http:\/\/?[^ ][^<]+/i', '<a  href="http://"></a>',$this->description);}
  4. ?>


i wynik wywoluje za pomoca smarty. W sumie nie ma to znaczenia ale zapis <a href="http://"></a>' zapisuje mi jako
  1. <?php
  2.  
  3. &lt;a href=&quot;http://www.&quot;&gt;&lt;/a&gt;
  4. ?>


i tez nei wiem czemu (IMG:http://forum.php.pl/style_emoticons/default/sad.gif)

z gory dzieku za pomoc
Go to the top of the page
+Quote Post
hwao
post
Post #4


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




  1. <?php
  2.  public function getDescription(){
  3. return preg_match_all('/http:\/\/?[^ ][^<]+/i', '<a  href="http://"></a>',$this->description);}
  4. ?>


Podaj, caly wczesniejszy text, bo to co podales jest zupelnie bez sensu...
Opisz dokladnie co chcesz zrobic...
Go to the top of the page
+Quote Post
munky
post
Post #5





Grupa: Zarejestrowani
Postów: 37
Pomógł: 0
Dołączył: 7.01.2005

Ostrzeżenie: (10%)
X----


Faktycznie bez sensu to jest !


Zaczne od poczatku. Mianowicie mam w bazie tekst, ktory zawiera link ( adres www ).

Mam metode w klasie, ktora odpowiedzialna jest za wyciaganie opisu.

  1. <?php
  2. public function getDescription(){
  3. return $this->description;
  4. }
  5.  
  6. ?>


Zadanie polega na tym by tekst wyciagany z bazy byl sprawdzany pod katem istnienia adresu www. Jak znajdzie to ma zrobic z niego link dlatego w pierwszym poscie chcialem zastosowac takie rozwiazanie ale problem polega na tym, ze

1. Wyrazenie regularne jest zle i nie znajduje mi linkow oraz nie potrafie zamienic na pozniej znalezionego linku a <a href="adres">adres</a>


Tak to wyglada.

Z gory dzieki za pomoc
munky

Ten post edytował munky 16.02.2006, 18:41:16
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 27.09.2025 - 14:14