Autor Zpráva
dzola
Profil *
Potreboval by som preverit hodnotu premennej tak ze moze obsahovat iba a-z 0-9 a '/' v lubovolnej kombinacii alebo inak ze neomeze obsahovat znaky $ # " ' ... ktore by mohli ohrozit fungovanie skriptu. Chcel som pouzit funkciu ereg ale jednak mi to pride strasne neprakticke a dokonca je uz zastarana :D a nepoznam novsiu variantu tejto funkcie. Dakujem za radu.
AM_
Profil
pokud hledáš nějaký substring, ověřuje se to normálně funkcí substr(), která vrací false, pokud nebyl podřetězec nalezen. ereg slouží pro regulární výrazy, náhrada za něj je preg, ale ten taky hledá regulární výrazy, pokud nepíšeš regulární výraz, tak takové funkce nepoužívej.
snake.aas
Profil *
preg_match je ta funkce a ^[a-z0-9/]*$ je regular
lesiak307
Profil
nemaš na mysli niečo take?

$text = trim(htmlspecialchars($_POST['text']));
dzola
Profil *
Ako sa to presne da spravit ? :D Premenna ktoru bude overat bude vyzerat asi takto:
abc/
abc/215/
anc/215/cde/
anc/215/cde/xyz/
anc/215/cde/xyz/0
dzola
Profil *
Ja som s toho magor

 
$url = "anc/215/cde/";
if (!preg_match("a^[a-z0-9/]*$", $url)) {
	echo "err $url";
	exit; // chyba
}
AM_
Profil
'~[^a-z0-9/]$~i'

napsal jsem to naopak, tj pokud tento výraz projde, znamená to, že se ve stringu objevil některý z nepovolených znaků, čili pokud preg_match vrátí true, znamená to, že $url není platná (jen detail - toto není url, ale cesta, url musí obsahovat více údajů ).

Rozdíl od ereg je delimiter ~ na začátku a na konci - může to být skoro libovolný znak, je dobré zvolit takový, který se nevyskytuje v samotném výraze, abys ho nemusel escapovat. Za ukončující delimiter můžeš psát modifikátory, třeba i je case insensitive.
dzola
Profil *
dik idem to skúsiť áno ta $url je iba cesta v skripte si ju vypíšem cez $_SERVER["REQUEST_URI"] a potom v .htaccess nastavím stránku na index a čo je v $url ešte preverí či náhodou neobsahuje nepovolené znaky alebo niečo čo by mohlo poškodiť stránku i keď je to nepravdepodobné a nakoniec , ale týmto som si neni istý či je to správne ale funguje , rozdelí cez
list
podla / na premenne a skript už vie všetko čo potrebuje :D

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: