Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Funkcja dla dwóch zmiennych
Forum PHP.pl > Forum > PHP
tara
Witam,

Chciałbym napisać cenzor i używać jednej funkcji dla dwóch zmiennych.
Mam $nick i $tresc oraz:

  1. <?php
  2.  
  3. function Cenzor()
  4. {
  5.  
  6. $dane=str_replace("cholera", "o rany", $dane);
  7.  
  8. }
  9.  
  10. ?>


No i chciałbym żeby przez wywołanie Cenzor() przefiltrowało mi obie zmienne. Probowałem przez tablice ale nie działało sadsmiley02.gif ma ktoś jakieś proste rozwiązanie ?
NuLL
  1. <?php
  2.  
  3. function cenzor($str)
  4. {
  5. //rob swoje ze zmienna $str;
  6.  
  7. //oddaj ja
  8. return $str;
  9. }
  10.  
  11. ?>

Wykorzystanie
  1. <?php
  2.  
  3. $zmienna=cenzor($zmienna);
  4.  
  5. ?>

BTW. To sa podstawy php.
tiraeth
  1. <?php
  2.  
  3. function Cenzor()
  4. {
  5.  // TEN KOD JEST BE!
  6. }
  7. ?>

Pisane z palca, ale chyba powinno działać...
NuLL
[ot]tiraeth - chyba nie chodzi o to co napisales tongue.gif[/ot]
tara
użyłem tego co napisał tiraeth. Dzięki wielkie wam obu za odpisanie !
tiraeth
Mój błąd, ten kod jest BE.

Kod NuLL'a jest lepszy (zdecydowanie) i polecam jego użycie
tara
dlaczego Twój kod jest be ? U mnie chodzi w porządku blink.gif
poison.Pluto
No właśnie, dlaczego? Wydaje mi się, że kod tiraeth'a był ok.
tiraeth
Używanie globalnych zmiennych nie jest zbyt bezpieczne, poza tym ja tylko radzę aby użyć tego NuLL'a a co Wy zrobicie to już Wasza sprawa smile.gif
maverickkk
Przykład 'tiraeth' wogóle by nie zadziałał na serverach z wyłaczoną obsługą zmiennych globalnych (czyli na prawie wszystkich) bo nie przekazał byś zmiennej do funkcji czyli niemiał byś co sprawdzać naczym operować.

dr_bonzo niżej -> nom fakt. :]
dr_bonzo
Ja czegos nie wiem czy co -- gdzie jest ten kod tiraetha (usuniety?questionmark.gif --> "BE")?

1. Ustawienie register_globals nie wplywa na uzywanie zmiennych globalnych w funkcji:
  1. <?php
  2. function doSth()
  3. {
  4. global $x;
  5. print( $x )
  6. }
  7. ?>


2. uzywanie "global" wewnatrz funkcji mija sie z celem pisania funkcji -- funkcja powinna dac sie uzywac wieloktrotnie i nie polegac na danych znajdujacych sie poza jej zasiegiem (zmiennych globalnych) -- gdy uzywasz zmiennych globalnych wewn. funkcji i gdy chcesz ja przeniesc gdo innego skryptu to musisz takze umiescic w nim odpowiednia zmienna globalna lub zmienic nazwe globalnej zmiennej w kodzie funkcji (a przeciez nie po to ja pisales).
Mozliwe ze to OT -- bo kodu nie widzialem, bazuje tylko na kolejnych postach.
ghostrider
  1. <?php
  2. function doStuff($in_str, &$out_str){
  3. $working_str = $in_str;
  4.  
  5.  // zrob cos z $working_str
  6. $working_str .= ' done stuff';
  7.  
  8. $out_str = $working_str
  9.  
  10. }
  11. $my_old_str = 'here';
  12. $my_new_str = '';
  13.  
  14. doStuff ($my_old_str, $my_new_str);
  15.  
  16. print $my_new_str;
  17.  
  18. /* outputs: here done stuff */
  19.  
  20.  
  21.  
  22.  
  23.  
  24. ?>
tara
Cytat(tiraeth @ 2006-01-07 22:05:48)
Używanie globalnych zmiennych nie jest zbyt bezpieczne, poza tym ja tylko radzę aby użyć tego NuLL'a a co Wy zrobicie to już Wasza sprawa smile.gif

a co moze zrobić potencjalny włamywacz z takim moim cenzorem ? przecież nie zna nazw zmiennych winksmiley.jpg pozatym metody GEt i POST też wykorzystują zmienne globalne co nie ?
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.