Autor Zpráva
*Čvachta*
Profil *
Ahoj, potřeboval bych ošetřit dobře vstupy, protože tyto proměné pak půjdou do databáze.

addslashes() mi přijde nedostačující.

Vstupy přijdou z $_GET, mohou se v nich vyskytovat písmena abecedy, bez háčků a čárek a číslice.

Jakým způsobem to ošetřit? Díky za rady a hezký den
halogan
Profil
regexpy
halogan
Profil
regexpy
*Čvachta*
Profil *
halogan
Promiň, ale moc jsem to nepochopil... :-/
pykaso
Profil *
halogan myslí regulární výrazy, pomocí nich můžeš ošetřit přesně co potřebuješ.


informace najdeš třeba na http://www.regularnivyrazy.info/

otestovat si je můžeš na http://www.regexp.cz/
*Čvachta*
Profil *
Ten test funguje nějak divně...
pykaso
Profil *
nikdy jsem nemel problem, ale neni to vyloucene.

ja pouzivam program regExpEditor
pykaso
Profil *
nikdy jsem nemel problem, ale neni to vyloucene.

ja pouzivam program regExpEditor
*Čvachta*
Profil *
Dobře, pokud tedy sestavím regulární výraz, jak udělám aby byl jako "filtr" a nevracel pouze 1/0 ?
pykaso
Profil *
nechapu vasi otazku... ??

- promenna vyhovuje vyrazu => pouziju ji
- nevyhovuje
- a) nepouziju ji a vyvodim z toho dusledky
- b) upravim promennou do "validniho" stavu a pouziju ji, vubec tim nezatezuju BFU
*Čvachta*
Profil *
pykaso



<?php

$string = "pokus-hokus-url";

ereg('[a-z0-9\-]+', $string, $arr);

echo $arr[0];

?>


tento řetězec vyhovuje, tedy mi to vrátí pokus-hokus-url,

jde mi o to, aby když bude
$string = "pokus;-žřšďdavid-josef"

aby mi to vrátilo

pokus-david-josef

Prostě ty znaky co nevyhovují aby se vypustily. Jak to zapsat?
Falcon16
Profil
A co tak cez napriklad str_replace() ???
das si to pola nepovoelene znaky, do dalsieho tie, ktorymi by sa nahradzovali a potom to iba cez funkciu str_replace() vymenis
pykaso
Profil *
v tomto pripade bude lepsi pouzit funkci (podobnou funcni pouzivam na tvorbu seo odkazu)



function osetreniVstupu($in){
$nahrady = array( "á"=>"a", ... , "ü"=>"u", ... a tak dal);

$in = strtolower(trim($in)); // orezani mezer na zacatku a konci retezce a prevod na mala pismena
$in = strtr($in,$nahrady); // nahrazeni znaku ..viz pole nahore
preg_match_all('/[a-zA-Z0-9]+/', $in, $out); // .. najdeme vse co je pro nas "validni"
$out = implode('-', $out[0]) // vsechny nalezene polozky spojime vhodnym oddelovacem

return $out
}



..sedim ve vlaku z ostravy a pisu to z hlavy, takze tam muze byt nejaky preklep ....
*Čvachta*
Profil *
Moc, díky, už jsem to vyřešil. Děkuju všem co mi pomohli :)
Toto téma je uzamčeno. Odpověď nelze zaslat.

0