специални знаци

ExpressYourself

Registered
как мога да ги премахна от GET тей като горе ми излиза името /user/asd # asd/ и ми дава грешка прави го на /# asd/ как мога да го направя да не засяга специалните знаци
 
Ако съм разбрал нещо от поста ти ..
Код:
<?
$text=htmlspecialchars($_GET['text']);
$text=preg_replace('/[^\/a-z0-9]+/i', '', $text);
?>
 
Изчистваш ги с един прост str_replace() и после ги проверяваш :idea:
 
По примера на replace става така
Код:
$url = str_replace("#", "", $_GET['url']);
На мястото на "#" слагаш знакът, който не трябва да минава през заявка
 
slideR каза:
По примера на replace става така
Код:
$url = str_replace("#", "", $_GET['url']);
На мястото на "#" слагаш знакът, който не трябва да минава през заявка

Както каза @Soul_Stealler в една тема по-надоло, целта е да укажеш, кои символи са позволени, а не, кои за забранени..
 
Разбирам ви момчета и аз така правя, но те са много #, <, >, и т.н даже не ги знам общо кой са... и затова искам някакъв начин който да кажем през htaccess да ги сменя на някакви негови си :)
 
ExpressYourself каза:
Разбирам ви момчета и аз така правя, но те са много #, <, >, и т.н даже не ги знам общо кой са... и затова искам някакъв начин който да кажем през htaccess да ги сменя на някакви негови си :)

Погледна ли това което ти дадох ? По моя код, аз не забранявам знаци, аз указвам, кои да са позволени, тоест в момента, с кода, който съм дал ще можеш да пишеш само букви, цифри и наклонени черти.. нищо друго.. Разбира се ако кажеш може да се добавят и нови, става много лесно ..
 
kulov каза:
ExpressYourself каза:
Разбирам ви момчета и аз така правя, но те са много #, <, >, и т.н даже не ги знам общо кой са... и затова искам някакъв начин който да кажем през htaccess да ги сменя на някакви негови си :)

Погледна ли това което ти дадох ? По моя код, аз не забранявам знаци, аз указвам, кои да са позволени, тоест в момента, с кода, който съм дал ще можеш да пишеш само букви, цифри и наклонени черти.. нищо друго.. Разбира се ако кажеш може да се добавят и нови, става много лесно ..

Пробвах не ми върши работа, тей като аз искам да премахна само специалните знаци, а не да използвам a-ZA-Z0-9...
Тей като извеждам потребители а те задължително трябва да се регистрират с специални знаци, и аз искам #, <, >, /, и т.н да ги заместя с някакъв символ или поне htaccess да ги разчита защото ползвам user/името/ ако го изкарам index.php?page=user&name=името ще ми го изведе но от htaccess ми дава грешка с тези символи :)

Благодаря
 
Код:
<?
$text="text asdas #, fgf /, <, gfdgdfg, >";
$text=str_replace(array("#", "/", "<", ">"), "znak", $text);
echo $text;
?>
 
kulov каза:
Код:
<?
$text="text asdas #, fgf /, <, gfdgdfg, >";
$text=str_replace(array("#", "/", "<", ">"), "znak", $text);
echo $text;
?>

Аз се оправих, извадих направо да си ми ги изкарва с id а не с username +1 от мене, за загубеното време :)
 

Back
Горе