Кодировка Base64 в PHP не работает для '&' и '#'? - PullRequest
1 голос
/ 28 апреля 2010

Мои знания о base64 довольно ограничены. Я использую его как альтернативу экранированию строк в системе управления контентом, так как меня предупредили о том, как были обнаружены слабые места в mysql_real_escape_string (); и довольно застенчиво, поскольку я знаю, как это увеличивает размер текста.

PHP, похоже, усекает все после экземпляра # или & в строке; пожалуйста, помогите мне выйти из этого.

Кроме того, прокомментируйте, является ли использование base64 для поддержания «истинности» содержимого публикации в CMS просто умственно отсталым или мудрым шагом.

Спасибо за ваше время:)

Ответы [ 2 ]

2 голосов
/ 28 апреля 2010

Да, работает:

$ php
<?php echo base64_decode(base64_encode("hello &# world")); ?>
hello &# world

Вы можете найти информацию о base64 в Википедии и в php manual

1 голос
/ 30 апреля 2010

Спасибо всем, Дэв был полностью прав. Простая функция URLEncode, которую я схватил с Google, сделала свое дело:)

return encodeURIComponent(str).replace(/!/g, '%21').replace(/'/g, '%27').replace(/\(/g, '%28').
                                                                replace(/\)/g, '%29').replace(/\*/g, '%2A').replace(/%20/g, '+');

Еще раз спасибо:)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...