Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [Wyrażenia regularne] Wyciąganie linków, ... coś nie tak z wyrażeniem..
Babcia@Stefa
post
Post #1





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


Witam, skonstruowałem wyrażenie, ale nie działa ono tak jak bym chciał..

  1. <?php
  2. preg_match_all( '|example.com([^ ]+).html|' , $this->PageContent , $Matches );
  3. ?>


Chciałbym ale nie wiem jak dać opcję że zamiast example.com może być także:
- drugastrona.com
- trzeciastrona.com

A zamiast .html także:
- .php
- .php5
- .gz

Próbowałem zamienić example.com z (example.com|drugastrona.com|trzeciastrona.com) ale PHP wypluwa komunikat:

Cytat
Unknown modifier 'd'


A innym problemem jest że zwracane wyniki są np. takie:
[0] => example.com/numbers.php
[1] => example.com/one.php example.com/two.php example.com/three

Pytania:
- Jak poprawić to wyrażenie abym mógł dodać np. drugastrona.com oraz trzeciastrona.com?
- Czy można coś zmienić w tym wyrażeniu, aby zwracało po jednym linku do każdego elementu tablicy?

Pozdrawiam, WebNuLL

Ten post edytował Babcia@Stefa 18.03.2009, 16:15:11
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
Babcia@Stefa
post
Post #2





Grupa: Zarejestrowani
Postów: 654
Pomógł: 17
Dołączył: 19.03.2006
Skąd: z kosmosu ;)

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


1. Działa
2. Nadal zwraca mi pare linków naraz...

Jak zmienić to wyrażenie aby wrzucało tylko po jednym linku do tablicy?

Teraz to tak wygląda, ale zwraca po kilka linków w jednym elemencie tablicy...

  1. <?php
  2. preg_match_all('/(jeden.com|dwa.com|example.com)([^ ]+).(html|pdf|doc)/', $this->PageContent, $Matches);
  3. ?>


Ten post edytował Babcia@Stefa 18.03.2009, 18:18:25
Go to the top of the page
+Quote Post

Posty w temacie


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: 2.10.2025 - 22:36