PHP中的Base64编码不适用于'&'和'#'?

时间:2010-04-28 08:48:49

标签: php base64

我对base64的了解非常有限。我正在使用它作为内容管理系统中字符串转义的替代方法,因为我已经被警告过在mysql_real_escape_string()中发现了哪些弱点;非常羞怯,因为我知道它如何增加文字大小。

PHP似乎在#或&的实例之后截断了所有内容在字符串中;请帮我解决这个问题。

此外,评论使用base64来维持CMS中帖子内容的“真实性”只是简单的延迟或明智之举。

感谢您的时间:)

2 个答案:

答案 0 :(得分:2)

是的有效:

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

您可以在wikipediaphp manual

中找到有关base64的信息

答案 1 :(得分:1)

谢谢大家,戴维一直都是对的。一个简单的URLEncode函数我抓住了Google的诀窍:)

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

再次感谢:)