Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Wyrażenie regularne
Forum PHP.pl > Forum > Przedszkole
grzegorz_m
Witam

  1. <?php
  2. $s = '         /images/logos/logo_1.gif       ala 
  3.               ola     ';
  4. $reg = '/([a-zA-Z0-9/_-]+.{1}[a-zA-Z]{3,4})/';
  5. preg_match_all($reg,$s,$arr);
  6. ?>


Wykoncypowałem taki $reg, ale oczywiście nie działa.
Możecie mi z tym pomóc, ponieważ nie wiem jak mam to zrobić, a męczę się z tym już na różne sposoby.

W efekcie końcowym chciałbym wyodrębnić adres do obrazka, wszystkie spacje i przejścia do nowej linii.
np.
  1. <?php
  2. [0]'                '
  3. [1]'/images/logos/logo_1.gif'
  4. [2]
  5.                       '
  6. ?>


Czyli jeśli ktoś wpisze: ' ddd ddd sa r2 /images/photos/img4.gif ddd ddd ' to ja będę mógł
wyodrębnić: ' /images/photos/img4.gif ' z podziałem na 3 grupy: [białe znaki przed adresem],[adres],[białe znaki po adresie].

Bardzo proszę o Waszą pomoc.

P.S.
Idealnym rozwiązaniem byłoby, gdyby można było wpisać bezwzględny lub względny adres do pliku.
neverever
Może nie jest to najlepsza modyfikacja ale jakoś działa
  1. <?php
  2. $s = '  /images/logos/logo_1.gif  ala 
  3. ola  
  4. www.zzz.pl/i.jpg
  5.  
  6. ';
  7.  
  8. $reg = '/([a-zA-Z:/.]*[a-zA-Z0-9/_-]+.{1}[a-zA-Z]{3,4})/';
  9. preg_match_all($reg,$s,$arr);
  10. print_r($arr[0]);
  11. ?>


ech, był tu jeszcze link z http ale przy wklejaniu za każdym razem zmieniało go na <a href...
grzegorz_m
Nie działa worriedsmiley.gif
Warning: preg_match_all() [function.preg-match-all]: Unknown modifier '.' ...

Wykonałem to tak:
  1. <?php
  2. $reg_absolute_address = "(([a-zA-Z]{1,2}tps?://[a-zA-Z0-9./_-]+/)|"; // ($reg_absolute_address OR $reg_relative_address)
  3. $reg_relative_address = "(.{0,2}/{1}[a-zA-Z0-9/_-]+/))";
  4. $reg_file_name = "([^/][a-zA-Z0-9_-]+.[a-zA-Z]{3,4})?";
  5. $reg_white = "([s]*)";
  6. $reg = "/".$reg_white.$reg_absolute_address.$reg_relative_address.$reg_file_name.$reg_white."/";
  7. ?>


Udało mi się dzięki temu uzyskać: [0]białe znaki [2]adres względny gdy [3] bezwzględny (tu potrzebny dodatkowy IF) [5]nazwa pliku i rozszerzenie [6] białe znaki

Chyba udało mi się pojąć te wyrażenia regularne -jak to człowieka czasem potrzeba do dalszej nauki zmusza thumbsupsmileyanim.gif
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.