Autor | Zpráva | ||
---|---|---|---|
PHP_koule Profil * |
#1 · Zasláno: 11. 6. 2012, 17:07:05
Ahoj, chěl jsem se zeptat, jak se dá vložit znak \ do řetězce. Použil jsem toto: "\\", ale nějak to nefunguje. Moc díky.
|
||
Majkl578 Profil |
#2 · Zasláno: 11. 6. 2012, 17:08:41
Co znamená nefunguje? Mělo by.
|
||
PHP_koule Profil * |
Mám tuto funkci:
$kick_slova_post = Array("%", "php", "javacript", "exec", "xml", "'", "<", ">", "script", "xml", "html", "select", "--", "alert", "=", ";", ",", "union", "where", "from", "´", "°", "!", "\/", "\\"); if( preg_match("/(".implode("|",$kick_slova_post).")/", $komunikace_post) ){ $chyba_pole = 1; }; ale při vložení "\\" nefunguje celý preg_match. Moderátor Majkl578: Vkládej prosím kódy mezi značky [>pre] a [>/pre] (stačí kliknout na ).
|
||
Majkl578 Profil |
#4 · Zasláno: 11. 6. 2012, 17:44:46
Protože některé z těch znaků mají v reguláru speciální význam. Doporučuji před implode escapovat:
implode("|",array_map(function ($item) { return preg_quote($item, '/'); }, $kick_slova_post))
|
||
PHP_koule Profil * |
#5 · Zasláno: 11. 6. 2012, 18:06:49
A jak to mám implementovat do současné fce?
|
||
Amunak Profil |
#6 · Zasláno: 11. 6. 2012, 18:13:22
PHP_koule:
Nemůžu si pomoct, připadá mi to jako vlastní "escapovací" funkce (pro ošetření vstupu). Pokud to tak opravdu je, tak bys měl začít escapovat tak, jak se to má dělat. Tohle není bezpečné. |
||
PHP_koule Profil * |
#7 · Zasláno: 11. 6. 2012, 18:29:02
já používám htmlspecialchars i na sql při ukládání, ale tohle se mi hodí...
|
||
Časová prodleva: 12 let
|
0