【发布时间】:2014-10-09 09:02:20
【问题描述】:
我正在使用 Laravel 4 构建网站。我在打印数据库中的数据或可以被用户操作的数据时使用三重“{”,但我在这里遇到了难题。当使用特殊字符时,它们会用“\”转义,但我不希望“\”出现在网站上。
所以我的问题是如何以正确的方式打印这些字符串?我知道我可以使用stripslashes 删除“\”,但这安全吗?在那里添加斜线是有原因的,所以只是剥离它们不会有问题吗?有没有更好/更安全的方法来实现这一目标?
注意:我不只是要求 Laravel 方法,我也愿意接受纯 php 建议。
谢谢。
【问题讨论】:
-
如果您的数据中有
\,那么您做错了。您的纯数据绝不应该包含任何类型的转义序列。这很可能意味着您在某个地方逃跑了太多次。 -
我只转义一次,使用 laravel 的“{{{ }}}”打印。据我所知,Laravel 在插入数据库或查询数据库时处理转义。但是即使我没有在打印时逃脱,也会出现“\”。这可能与我的 php/apache 配置有关吗?还是使用 Laravel 配置?
-
当您使用 phpmyadmin 或其他一些非 Laravel 管理实用程序查看数据库中的数据时,它是否包含反斜杠?如果是这样,也许您对魔术行情有疑问? (谷歌)
-
@deceze 是的,反斜杠也被添加到数据库中。我已经禁用了魔术引号(在 php_info() 中没有它们的踪迹,并且 get_magic_quotes_gpc() 返回 null),但我仍然没有找到这个问题的根源:(。
-
那么你必须深入挖掘。某些东西在不需要时会引入反斜杠。
标签: php laravel-4 wordpress-theming stripslashes