Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP] Zastąpienie
Forum PHP.pl > Forum > Przedszkole
patryk20120
Witam, mam taki kod:
  1. <?php
  2. if (ereg('ż', $nick)) {
  3. $szukaj = '/ż(.*?)/';
  4. $zastap = 'z@';
  5.  
  6. echo preg_replace($szukaj, $zastap, $szukana);
  7. }
  8. ?>

i otóż kod działa na tyle dobrze, że zamiast zamiany tylko literki "ż" na "z@" zamienia mi cały tekst na "z@", co robić, aby zamieniało tylko tą literkę "ż" na "z@" tongue.gif questionmark.gif
patryk20120
mam tak:
  1. <?php
  2. if(isset($_POST['wyslij']))
  3. {
  4.   $nick=$_POST['nick'];
  5.    $tresc=$_POST['tresc'];
  6. str_replace("ż", "z@", $nick);
  7.  mysql_query("INSERT INTO next VALUES (NULL, '$nick','$tresc')");
  8.  echo 'dodano!';
  9.  echo '<META HTTP-EQUIV="Refresh" CONTENT="3;">';
  10. }
  11. ?>

i też nie działa tongue.gif bo teraz nawet nie zastępuje niczym
Spawnm
bo powinno być:
  1. <?php
  2. if(isset($_POST['wyslij']))
  3. {
  4.  $nick=$_POST['nick'];
  5.   $tresc=$_POST['tresc'];
  6. $nick=str_replace("ż", "z@", $nick);
  7. mysql_query("INSERT INTO next VALUES (NULL, '$nick','$tresc')");
  8. echo 'dodano!';
  9. echo '<META HTTP-EQUIV="Refresh" CONTENT="3;">';
  10. }
  11. ?>

dodatkowo zainteresuj się mysql_real_escape_string" title="Zobacz w manualu PHP" target="_manual
kefirek
Albo zobacz tak

  1. <?php
  2. if(isset($_POST['wyslij']))
  3. {
  4. $pattern = '/ż.Ż(.*?)/';
  5. $replacement = 'z@';
  6. $nick=$_POST['nick'];
  7. $tresc=$_POST['tresc'];
  8. $nick = preg_replace($pattern, $replacement, $nick);
  9. mysql_query("INSERT INTO next VALUES (NULL, '$nick','$tresc')");
  10. echo 'dodano!';
  11. echo '<META HTTP-EQUIV="Refresh" CONTENT="3;">';
  12. }
  13. ?>
patryk20120
A do czego służy "mysql_real_escape_string", bo nie za bardzo kumam questionmark.gif
Spawnm
chroni przed sql injection, kliknij w nazwe , jest linkiem.
patryk20120
właśnie klikałem i nie czaje tongue.gif używam tego jak "mysql_ query" questionmark.gif
Spawnm
nie, dajesz np tak:
  1. <?php
  2. if(isset($_POST['wyslij']))
  3. {
  4. $nick=mysql_real_escape_string($_POST['nick']);
  5.  $tresc=mysql_real_escape_string($_POST['tresc']);
  6. $nick=str_replace("ż", "z@", $nick);
  7. mysql_query("INSERT INTO next VALUES (NULL, '$nick','$tresc')");
  8. echo 'dodano!';
  9. echo '<META HTTP-EQUIV="Refresh" CONTENT="3;">';
  10. }
  11. ?>

mysql_real_escape_string filtruje przychodzące dane od usera.
patryk20120
Wielkie dzięki
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.