Autor Zpráva
xlifer
Profil
Jak lze pomocí funkce preg_match udělat podmínku pro kontrolu počtu jakýchkoliv znaků, tzn. bez definice zda to má být [A-Za-z0-9], zkrátka libovolný řetězec.

$text = "123456789";

// Takto to není problém
$pocet = mb_strlen($text, "UTF-8");
if ($pocet>0 && $pocet<9) {
  echo "True";}

// Přes preg se mi nedaří dosáhnout stejného výsledku
if (preg_match('/^[\w]{1,8}/', $text)) {
  echo "True";
} else {echo "False";}
Taps
Profil
xlifer:
pro kontrolu počtu znaků používej funkci strlen, preg_match slouží k vyseparování určitých hodnot z textu
Keeehi
Profil
Čistě pro informaci - správné řešení vypadá /^.{1,8}$/s
Ale to řešení s mb_strlen je lepší a rychlejší.

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

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