Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] problem z preg_replace
Forum PHP.pl > Forum > Przedszkole
Crom
Mam konstrukcję:

  1. <?php
  2. $tab = array('http'=>'ftp');
  3. echo preg_replace('/http/',$tab["$0"],'http');
  4. ?>



i dostaje komunikat:
„Notice: Undefined index: $0 in E:\Programy\Internet\VertrigoServ\www\FFCreation\zadanie_c1\index.php on line xxx”

Widziałem podobne konstrukcje z tablicą w replacement, nawet na tym forum (http://forum.php.pl/index.php?showtopic=71669) i wszystko było OK a u mnie nie działa.

Czy ktoś potrafi mi powiedzieć co robie nie tak?

PS. Mam PHP 5.2.1
Qvazar
sprawdź $tab['http'] zamiast $tab["$0"]
Crom
Cytat(Qvazar @ 16.07.2007, 20:47:40 ) *
sprawdź $tab['http'] zamiast $tab["$0"]


Chodzi właśnie o dynamiczność. Czyli klucz musi być dopasowany wyrażeniem regularnym.
Siner
A nazywanie zmiennych? Chyba nie można nazywać zmiennych numerycznie.
Crom
Cytat(Siner @ 16.07.2007, 22:52:47 ) *
A nazywanie zmiennych? Chyba nie można nazywać zmiennych numerycznie.


Bo to taka "zmienna" specjalna, dziala tylko w preg_replace.

http://pl.php.net/manual/pl/function.preg-replace.php
Kicok
  1. <?php
  2.  
  3. $tab = array( 'http' => 'ftp' );
  4. echo preg_replace( '/http/e', '$tab["$0"]', 'http' );
  5.  
  6. ?>


http://pl2.php.net/manual/pl/reference.pcr...n.modifiers.php
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.