PHP preg_replace zamiana w kolejności

PHP preg_replace zamiana w kolejności
0

Cześć, chciałbym zrobić podmianę stringów, ale w taki sposób, że mam cią np.:

[ala] ma [kota] a sierotka [ala]

I chcę by zrobił tak, że mam tablicę:

Kopiuj
$tab[0] = 'abcd';
$tab[1] = 'efgh';
$tab[2] = 'ijkl';

I zamienia ją na:

abcd ma efgh a sierotka ijkl

Wiem że wyrażenie regularne do pobierania to:
/\[([a-z]+)\]/

Tylko jak zrobić by mimo podobnych kluczy [ala] nie zamienia mi obu, tylko zamienia po kolei wszystko zgodnie z tablicą.

SI
  • Rejestracja:około 14 lat
  • Ostatnio:ponad 11 lat
0

Dzięki wielkie. Ale mam pytanie odnośnie funkcji którą podaję. Jak przekazać do niej tablicę z zewnątrz? Wiem że mogę zrobić

Kopiuj
function($match) use ($arr)

Ale to w wersji PHP 5.3, a jak mam wcześniejszą to jak?

unikalna_nazwa
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 10 lat
0

tak jak w każdej innej funkcji - przez zmienną globalną global $tablica albo przez pole klasy

poza tym - gdzie masz wersję wcześniejszą niż 5.3? Ta wersja ma już 3 lata! Zmień może hosting...


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa
0

Serwer na którym działam ma wersje 5.2.5. W dodatku nie mogę zrobić tego jako globalną, ponieważ funkcja jest w pętli i wywala mi błąd, że funkcja już raz była tworzona.

Da się to jakoś obejść ?

0

Ja nie działam na hostingu tylko na serwerze postawionym na kompie (tylko do pracy).

unikalna_nazwa
  • Rejestracja:ponad 14 lat
  • Ostatnio:prawie 10 lat
0
nowy12345 napisał(a):

Ja nie działam na hostingu tylko na serwerze postawionym na kompie (tylko do pracy).

to czemu go nie zupgrade'ujesz?
jeżeli naprawdę nie musisz to nie ma sensu nie wykorzystywać nowych funkcjonalności php i oglądać się aż tyle lat wstecz

a jeśli musisz mieć zabytkową wersję php to pokaż kod to spróbuje się przerobić żeby działał


Pół giga extra na dropboxie? Pół giga extra na dropboxie! Tyle wygrać! >>Klik here<<
edytowany 1x, ostatnio: unikalna_nazwa
0

poradziłem sobie trochę inaczej - nie musiałem aktualizować wersji

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.