Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: drugi argument w preg replace
Forum PHP.pl > Forum > Przedszkole
luinnar
mam coś takiego
  1. <?php
  2. $z = preg_replace('#[|foto|([0-9]+)|]#', &#092;"$tab[1]\", $z);
  3. ?>

niestety to zwraca mi taki błąd
Kod
Parse error: parse error, expecting `T_STRING' or `T_VARIABLE' or `T_NUM_STRING' in ŚCIEŻKA/DO/PLIKU.php on line 65

próbowałem także
  1. <?php
  2. $z = preg_replace('#[|foto|([0-9]+)|]#', $tab[&#092;"1\"], $z);
  3. ?>

wtedy zwracało czysty tekst bez znaczników [|foto|<jakiś numer>|]

Przykładowy, pełny kod sprawdzania

  1. <?php
  2. $z = 'gfjgh gh j gh gch gch[|foto|1|]jcghj hcg cj hhgjhhyiu yui uyi yrui uyi[|foto|2|] uy yu itytyr brtnyufrtb8u uitny 5i mnt bnr5u motn nty 8m,
     gyfntru m,u,hui f
  3. um gtnyf tufiodumhybtiopuhybyph[|foto|3|]juti hht pu uip tjtpjupbuhy 0etjuhempih
    umh etu eb uhu bjhhubtmyhut,etyihu oyjyt jji yj jyi'
    ;
  4. $tab = array();
  5. $tab[1] = '----1----';
  6. $tab[2] = '----2----';
  7. $tab[3] = '----3----';
  8.  
  9. $z = preg_replace('#[|foto|([0-9]+)|]#', $tab[&#092;"1\"], $z);
  10.  
  11. echo $z;
  12. ?>

Co mam z tym zrobić?
mario
  1. <?php
  2. $z = preg_replace('#[|foto|([0-9]+)|]#', &#092;"$tab[1]\", $z);
  3. ?>

Tutaj jest błąd. Do tablicy $tab[\\1] nie można wrzucić takiej wartości a $tab[1] itp.
luinnar
\\1 jest wynikiem wyszukania pewnej frazy ( w tym przypadku "([0-9]+)" ) więc pod \\1 kryje się konkretna wartość a nie ciąg "\\1".
zlukaj => preg_replace" title="Zobacz w manualu PHP" target="_manual
Zamiast \\1 można użyć także $1 jednak w tym przypadku daje to te same efekty.


-------------------------------------------------------------------------------------------
edit
SPRAWA ZAMKNITA
nie wiem jak to się stało ale skrypt zaczął działać. Musiałem coś zgubić potem znaleść. Jednak dziękuje za uwagę.
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.