Autor Zpráva
jurisek008
Profil
Zdravím,
Mám formulář a nechci, aby se některé znaky "počítaly".. například speciální znaky nebo číslice. Při jejich odeslání formulářem chci vypsání chybové hlášky. zkoušel jsem to takto (nefunkčně) =>
$pole = explode (' ',$text); // $text je z formuláře
$ochrana = array(1,2,3,4,5,6,7,8,9,0,',','.','-','?',':','_','!','/','(',')','{','}','[',']','@','#');
    if (in_array($ochrana, $pole)){
        echo "Zpráva obsahuje nepovolené znaky";
    }
sitole
Profil
jurisek008:
(nefunkčně) =>
Co přesně ti nejde? Error a řádek.
Nebylo by jednoduší tam dát znaky, které může použít? :)
juriad
Profil
$text = 'sdcsdc';
if (preg_match('/[][0-9,.?:_!\/(){}@#-]/', $text)) {
  echo "Zpráva $text obsahuje nepovolené znaky\n";
}

$text = 'jnksc8';
if (preg_match('/[][0-9,.?:_!\/(){}@#-]/', $text)) {
  echo "Zpráva $text obsahuje nepovolené znaky\n";
}

$text = '/%';
if (preg_match('/[][0-9,.?:_!\/(){}@#-]/', $text)) {
  echo "Zpráva $text obsahuje nepovolené znaky\n";
}

Použij regex. Pro definici tříd znaků existují jistá pravidla a není úplně snadné je napsat správně.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: