Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: preg_replace dla {warunek:1}
Forum PHP.pl > Forum > Przedszkole
hpsi_old
jak zrobić aby tekst w plikach .php poprzez "preg_replace" zminaił się: np: {ERROR:1} => zminai się na "błąd przy logowaniu ?", a {ERROR:2} => zminił się na np: "cos nie działa" itd... jak to zrobić? proszę o pomoc !
kicaj
  1. <?php
  2. preg_replace( '/^{ERROR:1}$/i', &#092;"tekst', \"tekst w ktorym trzeba to zamienic\" );
  3. ?>
hwao
  1. <?php
  2.  
  3. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  4. $arrNa  = array( 'cos nie dzial', '2 cosnie nie dziala' );
  5.  
  6. $strText = str_replace( $arrZamien, $arrNa, $strText );
  7. ?>
hpsi_old
Zrobiłęm tak:
  1. <?php
  2. preg_replace( '/^{ERROR:1}$/i', &#092;"tekst', \"tekst w ktorym trzeba to zamienic\" );
  3. echo '{ERROR:1}<br>';
  4. ?>

i pokazało: Parse error: parse error, unexpected T_STRING in
c:\usr\krasnal\www\other\index.php on line 2
stoprocent
"tekst' => "tekst" lub 'tekst'

Poszukaj sam to sa pierodoly .
hpsi_old
ups tongue.gif dobra popwaiłęm to ale: tera taki kod mam
  1. <?php
  2. preg_replace ( '/^{ERROR:1}$/i', &#092;"tekst\", \"tekst w ktorym trzeba to zamienic\" );
  3. echo '{ERROR:1}<br>';
  4. ?>

i nie zmania mi tego {ERROR:1} skrypt wyświetla tak jak jest napisane....
party
Teraz to robisz z siebie idiotę...
  1. <?php
  2. $strText = '{ERROR:1}<br>';
  3. $strText = preg_replace ( '/^{ERROR:1}$/i', &#092;"tekst\", $strText );
  4. print( $strText );
  5. ?>
hpsi_old
a to zamiast text, wyswietla mi {ERROR:1} :/
stoprocent
Uzyj kodu hwao bo jest najprostszy .
party
Dokładnie... Poza tym przyznam się bez bicia, że ledwo co umiem pregi i nie wiem czy twój preg jest ok czy nie... smile.gif
hpsi_old
no tak robilem
  1. <?php
  2.  
  3. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  4. $arrNa     = array( 'cos nie dzial', '2 cosnie nie dziala' );
  5.  
  6. $strText = str_replace( $arrZamien, $arrNa, $strText );
  7.  
  8. echo '{ERROR:2}';
  9. ?>

a wyswietla mi naormlanie {ERROR:2} i sie wkurazam ...
stoprocent
Czlowieku naucz sie myslec .
  1. <?php
  2.  
  3.  
  4. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  5. $arrNa  = array( 'cos nie dzial', '2 cosnie nie dziala' );
  6.  
  7. $strText= 'opcja 1 : {ERROR:1} opcja 2 :{ERROR:2}';
  8.  
  9. $strText = str_replace( $arrZamien, $arrNa, $strText );
  10.  
  11. echo $strText ;
  12.  
  13.  
  14. ?>
party
Ty w ogóle nie wiesz co ty robisz... Najpierw zamieniasz string, potem wyświetlasz co innego....

  1. <?php
  2.  
  3. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  4. $arrNa  = array( 'cos nie dzial', '2 cosnie nie dziala' );
  5.  
  6. $strText = '{ERROR:1}<br>{ERROR:2}';
  7. $strText = str_replace( $arrZamien, $arrNa, $strText );
  8.  
  9. print( $strText );
  10. ?>
hpsi_old
no wiec to chodzi ale .... nie o to mi chodziło tongue.gif

bo mam np plik: index.php oraz info.php
info php zawiera:
  1. <?php
  2.  
  3. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  4. $arrNa  = array( 'cos nie dzial', '2 cosnie nie dziala' );
  5.  
  6. $strText= '{ERROR:2}';
  7.  
  8. $strText = str_replace( $arrZamien, $arrNa, $strText );
  9.  
  10. echo $strText ;
  11.  
  12.  
  13.  
  14. ?>


a index.php
  1. <?php
  2. echo 'coś tam {ERROR:1}';
  3. ?>

i chcialbym aby skrypt automatycznie przeglądał caly kod we wszyskich plikach i wszedzie gdzie znajdzie {ERROR:1} zminiał na "coś nie działa" zeby to chodziło bez zadnych zmiennych,
Chewolf
  1. <?php
  2. $file = implode(file(&#092;"index.php\"));
  3. $arrZamien = array( '{ERROR:1}', '{ERROR:2}' );
  4. $arrNa  = array( 'cos nie dzial', '2 cosnie nie dziala' );
  5. $strText = str_replace( $arrZamien, $arrNa, $file );
  6. echo $strText ;
  7. ?>
matid
To zupełnie inna sprawa. Ja bym to na twoim miejscu zrobił tak:
Plik errors.inc.php:
  1. <?php
  2. define( 'ERROR_01', 'coś nie działa' );
  3. define( 'ERROR_02', 'coś innego nie działa' );
  4. ?>

Plik index.php
  1. <?php
  2. require_once( 'errors.inc.php' );
  3. echo 'coś tam ' . ERROR_01;
  4. ?>

Bądź napisz sobie klasę error handler'a i nie będziesz miał problemów. To co przedstawiam tutaj jest chyba najprostszym rozwiązaniem.
hpsi_old
zrobiłem tak jak mi powiedziałeś matid. i pokazało Warning: Wrong parameter count for define() in c:\usr\krasnal\www\other\errors.inc.php on line 2
kicaj
...to jak prowadzenie za raczke, poczytaj troszke wiecej o php, bo to nie ma sensu...
matid
Cytat(hpsi @ 2004-06-20 14:05:46)
zrobiłem tak jak mi powiedziałeś matid. i pokazało Warning: Wrong parameter count for define() in c:\usr\krasnal\www\other\errors.inc.php on line 2

Drobna pomyłka, już poprawiona. Wydawało mi się, że do funkcji define można podać argumenty w tablicy. Najwyraźniej się myliłem.
A tak poza tym na rozwiązanie mogłeś wpaść sam....
Wystarczyło poczytać: define" title="Zobacz w manualu PHP" target="_manual
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.