Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP] Zastąpienie
patryk20120
post
Post #1





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


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@" (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

Ten post edytował patryk20120 15.02.2009, 16:36:39
Go to the top of the page
+Quote Post
Spawnm
post
Post #2





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




zobacz:
str_replace" title="Zobacz w manualu PHP" target="_manual
Go to the top of the page
+Quote Post
patryk20120
post
Post #3





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


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 (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) bo teraz nawet nie zastępuje niczym
Go to the top of the page
+Quote Post
Spawnm
post
Post #4





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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
Go to the top of the page
+Quote Post
kefirek
post
Post #5





Grupa: Zarejestrowani
Postów: 781
Pomógł: 256
Dołączył: 29.06.2008

Ostrzeżenie: (0%)
-----


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. ?>


Ten post edytował kefirek 15.02.2009, 17:46:36
Go to the top of the page
+Quote Post
patryk20120
post
Post #6





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


A do czego służy "mysql_real_escape_string", bo nie za bardzo kumam (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #7





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




chroni przed sql injection, kliknij w nazwe , jest linkiem.
Go to the top of the page
+Quote Post
patryk20120
post
Post #8





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


właśnie klikałem i nie czaje (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) używam tego jak "mysql_ query" (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)
Go to the top of the page
+Quote Post
Spawnm
post
Post #9





Grupa: Moderatorzy
Postów: 4 069
Pomógł: 497
Dołączył: 11.05.2007
Skąd: Warszawa




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.
Go to the top of the page
+Quote Post
patryk20120
post
Post #10





Grupa: Zarejestrowani
Postów: 256
Pomógł: 1
Dołączył: 20.04.2008

Ostrzeżenie: (0%)
-----


Wielkie dzięki
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 25.08.2025 - 07:17