Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP] wyrazenie regularne
Esc
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 22.03.2005

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


Witam, i prosze o pomoc. Wiem gdzie znalezc podpowiedzi, tutoriale ale poprostu nie moge tego zrozumiec. Bardzo prosze o pomoc.

  1. <?php
  2. $text = 'img src=image/abc/raad/karamba.jpg border=0';
  3. $text = preg_replace('/^img .*(w+.w{0,10}) *border=0$/', '1', $text1);
  4. ?>


to moje nieudolne proby. potrzebuje ze zmiennej $text wyciagnac wlasciwie tylko i wylacznie nazwe pliku w tym przypadku karamba.jpg

naprawde to jakas czarna magia dla mnie - siedze i czytam ale pojac nie moge - przy tym co tu widzicie jestem juz prawie blisko bo otrzymuje wynik a.jpg
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
dr_bonzo
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Np. tak

  1. <?php
  2. $text = 'img src=image/abc/raad/karamba.jpg border=0';
  3. $text = preg_replace('/^img .*[^w](w+.w{0,10}) *border=0$/', '1', $text);
  4.  
  5. print( $text );
  6. ?>


dodane: [^\w], czyli znak "nieplikowy" ( / czy tez =) a potem cala nazwa pliku.


edit:
albo

  1. <?php
  2. $text = preg_replace('/^img .*?(w+.w{0,10}) *border=0$/', '1', $text);
  3. ?>

dodane ? za .*, [.*?] tzn eager mode regexpow, dobiera jak najkrotszy string, bo samo .* dlapie ci wszystko od src= az do przedostatniej litery przed kropka.

Ten post edytował dr_bonzo 17.07.2008, 23:00:39
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: 14.10.2025 - 16:42