Текст в кавички?

tedobedo

Registered
Извеждам текст чрез:
Код:
$text = nl2br(addslashes(htmlspecialchars($_POST['text'])));
Ако в този текст имам кавички, ми се извежда \'тялото\' , а аз искам да изведе 'тялото'. Как да го направя?
 
Направих ги с "" и се оправи, но махнах и addslashes. Чувал съм, че е добре да има addslashes заради security-то. Да ги върна ли?
 
heminei каза:
smoke каза:
Махни addslashes и ще се оправи :?:

нееееееееееееее

Ползвай това:

$text="asdsad'asdasd'asdasd sa'd sa'd 'as'd as'd's a";

$text = nl2br(addslashes(htmlspecialchars($text)));

$text=stripcslashes($text);

echo $text;

аз мисля, че това се пише преди да вкараш текста в базата данни nl2br(addslashes(htmlspecialchars($text)))

а после като визуализирам бих използвал stripcslashes
 
Върни си всичките фунции за филтриране и пробвай да сложиш това в php.ini :
Код:
magic_quotes_gpc = Off
magic_quotes_runtime = Off
magic_quotes_sybase = Off
 
еми още при записа можеш да направиш така

$text = htmlspecialchars(strip_tags($_POST['text']));
$text = str_replace("'","'",$text);
$text = str_replace('"',""",$text);

$query= ...

така ще избегнеш и възможни грешки при запис ;)
 
IzKuFeLiQqQqQ каза:
еми още при записа можеш да направиш така

$text = htmlspecialchars(strip_tags($_POST['text']));
$text = str_replace("'","'",$text);
$text = str_replace('"',""",$text);

$query= ...

така ще избегнеш и възможни грешки при запис ;)

В по-горното мнение съм си дал кода... Ако може кажи само дали го правя правилно....
 
видях, че има грешка в името на функцията тя е

Код:
stripslashes();

Аз сега чета книгата на Крис Шифлет за защита на страниците. Той казва, че информация, която влиза в базата данни трябва да се защитава с функцията

Код:
mysql_real_escape_string();

това е за mysql бази данни той казва, че аналогична е функцията

Код:
addslashes();

но тя е била малко по

Другото нещо, което прочетох от там е че за визуализиране на информация в браузара трявва преди това тя да се прекара през

Код:
htmlentities($promenlivata_s_informaciqta, ENT_QUOTES, 'UTF-8')

след като променливите преминат през тези функции стават защитени но ако някоя променлива идва от базата данни може да се получават наклонените черти за това освен htmlentities(); минаваме данните и с

Код:
stripslashes();
 
Е какво толкова има да се бърка в това php.ini ? Отваряш го слагаш три реда код и забравяш за ситуацията.. Пък и не трябва да премахваниш никви фунций всичко ще си работи :)
 

Back
Горе