Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [php] explode, if, preg_match itp...
Forum PHP.pl > Forum > Przedszkole
kaszanka
Hi,

Mam sobie formularz:
  1. ...<input type="text" name="nazwa" size="50" value="<? echo $nazwa; ?>">...

następnie explode oraz warunki sprawdzające
  1. <?php
  2. $rozdzielone = explode(" ", $nazwa); $ile_rozdzielonych = count ($rozdzielone);
  3. if($nazwa_send) {
  4.  
  5. for($i=0; $i<$ile_rozdzielonych; $i++){
  6.  
  7. if (!preg_match('/^([a-z]{1}[a-z0-9]*){2,16}$/',$rozdzielone[$i])) { $err_name_s = "0"; } else { $err_name_s = "1"; }
  8. if ($rozdzielone[$i] !== "" or $rozdzielone[$i] !== " ") { $err_name_pusto = "0"; } else { $err_name_pusto = "1"; }
  9. if (!file_exists("/pliki/$rozdzielone[$i]")) { $err_name_s_jest = "0"; } else { $err_name_s_jest = "1"; }
  10.  
  11. if($err_name_s == "1" or $err_name_s_jest == "1" or $err_name_pusto == "1") {
  12.  
  13. echo '
  14. <input type="radio" name="nazwa_wybrana" value="f">'.$rozdzielone[$i].'
  15. <div style="padding-top:5px;"></div>';
  16. } else { echo ""; }
  17. }
  18. ?>

Dzieli spacjami wpisane frazy w inpucie następnie listuje tylko te które spełniają trzy powyższe warunki i wszystko jest fajnie tylko jak wpisze ciągi:
  1. test test1
czytać: _spacja_test_spacja_test1_spacja_
to nie zwróci tylko fraz test oraz test1 lecz to co jest przed pierwszą spacją (gdzie właśnie nic nie ma smile.gif ) i tak samo na końcu.
(cała fraza w inpucie zaczyna się spacją i kończy).
Dlaczego drugi warunek if ($rozdzielone[$i] !== ""... nie działa w tym przypadku?
nowotny
trim" title="Zobacz w manualu PHP" target="_manualuj sobie stringi pobrane z inputów... ewentualnie użyj empty" title="Zobacz w manualu PHP" target="_manual... a zamiast "!==" użyj "=="...
anonim1133
Cytat
Dzieli spacjami wpisane frazy w inpucie następnie listuje tylko te które spełniają trzy powyższe warunki

nie chce mi się śledzić kodu tongue.gif ale jako kolejny warunek możesz dodać
  1. <?php
  2. if(strlen($rozdzielone[$i]) > 0{
  3. // jeżeli długość stringu jest większa niż 0...
  4. }
  5. ?>

tak btw. polecam Ci FOREACH - naprawdę fajna sprawa ;p

//EDIT: $nowotny -> fajna sprawa to 'trimowanie', muszę se zapamiętać ;-)
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.