Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]str_replace - skrócenie
Forum PHP.pl > Forum > Przedszkole
bahh
Witam, chciałbym skrócić ten kod do jednej linijki

  1. $_POST["link"] = str_replace('!', '', $_POST["link"]);
  2. $_POST["link"] = str_replace('@', '', $_POST["link"]);
  3. $_POST["link"] = str_replace('#', '', $_POST["link"]);
  4. $_POST["link"] = str_replace('$', '', $_POST["link"]);
  5. $_POST["link"] = str_replace('%', '', $_POST["link"]);
  6. $_POST["link"] = str_replace('&', '', $_POST["link"]);
  7. $_POST["link"] = str_replace('*', '', $_POST["link"]);
  8. $_POST["link"] = str_replace('(', '', $_POST["link"]);
  9. $_POST["link"] = str_replace(')', '', $_POST["link"]);
  10. $_POST["link"] = str_replace('~', '', $_POST["link"]);
  11. $_POST["link"] = str_replace('`', '', $_POST["link"]);
  12. $_POST["link"] = str_replace('+', '', $_POST["link"]);
  13. $_POST["link"] = str_replace('=', '', $_POST["link"]);
  14. $_POST["link"] = str_replace('[', '', $_POST["link"]);
  15. $_POST["link"] = str_replace(']', '', $_POST["link"]);
  16. $_POST["link"] = str_replace('|', '', $_POST["link"]);
  17. $_POST["link"] = str_replace(';', '', $_POST["link"]);
  18. $_POST["link"] = str_replace(':', '', $_POST["link"]);
  19. $_POST["link"] = str_replace('"', '', $_POST["link"]);
  20. $_POST["link"] = str_replace('/', '', $_POST["link"]);
  21. $_POST["link"] = str_replace(',', '', $_POST["link"]);
  22. $_POST["link"] = str_replace('.', '', $_POST["link"]);
  23. $_POST["link"] = str_replace('?', '', $_POST["link"]);
  24. $_POST["link"] = str_replace('/', '', $_POST["link"]);
  25. $_POST["link"] = str_replace('<', '', $_POST["link"]);
  26. $_POST["link"] = str_replace('>', '', $_POST["link"]);
  27. $_POST["link"] = str_replace('_', '', $_POST["link"]);
  28. $_POST["link"] = str_replace('^', '', $_POST["link"]);
  29. $_POST["link"] = str_replace('\\', '', $_POST["link"]);


wystarczy zastąpić to takim kodem?

  1. $_POST["link"] = str_replace('^@#$%&*()~`+=[]|;:""/,.?/<>_^\\', '', $_POST["link"]);


chodzi mi o usunięcie wszystkich znaków specjalnych z wyjątkiem spacji, - oraz liter wraz cyframi
devbazy
Testowałeś chociaż ten kod, że o to pytasz?
Greg0
Możesz jako pierwszy parametr str_replace dać tablicę z tymi znakami czyli array('^', '#' .... ), a na reszcie to co masz. Lub użyć preg_replace()
Michael2318
  1. $array_r = array('!', ',', '@', '_', '-');
  2. $array_rr = array('', '', '', '', '');
  3.  
  4. $_POST["link"] = str_replace($array_r, $array_rr, $_POST["link"]);
AdIoS_Neo
Witam,
według mnie tak będzie najzwięźlej i najoptymalniej:
  1. preg_replace("/[^\sa-z0-9-]/i", '', $_POST["link"]);
bahh
pytanie czy polskie znaki zostaną czy nie?
AdIoS_Neo
w takim przypadku:
  1. preg_replace("/[^\sa-ż0-9-]/i", '', $_POST["link"]);

tak smile.gif
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.