首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中的stripslashes问题

php中的stripslashes问题
EN

Stack Overflow用户
提问于 2012-02-07 14:02:54
回答 2查看 190关注 0票数 0

当我在php中使用stripslashes时,我没有得到确切的解决方案。我在下面的代码中使用了menstion,如果我在像suresh\'s kuma\"r这样的表中有值,这些都是示例

我尝试以以下三种格式显示该值,但没有人给出确切的值

代码语言:javascript
复制
1) value=<?=stripslashes($row[1])?> //output is suresh's
2) value='<?=stripslashes($row[1])?>' //output is suresh
3) value="<?=stripslashes($row[1])?>" //output is suresh's kuma

但我需要的确切输出是suresh's kuma"r

让我知道如何解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-02-07 14:18:05

这个问题与条带斜杠无关。如果我没猜错的话,问题出在你的例子中引号破坏了html的字段属性;

我将根据您的信息手动回显您的$row内容:

kumar -->引导浏览器将此解释为value="sures" kumar

  • value='suresh'khumar --> well,same story value='sures' khumar

  • value="Suresh"Khumar -->what can I say...you know drill

转义引号不会影响html,因为反斜杠在html中没有任何意义。value="Suresh"value="Suresh\"在浏览器中都可以很好地工作,但是浏览器始终会将您的名字解释为某个未知属性,只在值中留下第一部分。

相反,您可能要做的是应用htmlentities($row[1],ENT_QUOTES),以便在等效的实体(例如,&quote;)中转换它们。而不是破坏了你的value属性。参见。

另一个问题是,您的从一开始就不应该在数据库中使用反斜杠;这可能是因为您的提供程序中启用了magic_quotes,或者您手动传递了addslashes()或其他错误的技巧。如果要将包含引号的值插入到数据库中,请使用数据库驱动程序提供的转义机制(例如,mysql中的mysql_real_escape_string())或更好的工具(带有查询绑定的准备好的语句)。

你首先应该去掉所有的斜杠,然后重新保存内容;但是无论斜杠与否,如果你没有按照你的html适当地格式化它,这个问题就会再次出现,就像我上面展示的那样。

票数 0
EN

Stack Overflow用户

发布于 2012-02-07 14:17:58

您确定要使用带斜杠而不是addslashes吗?目的是引用“人物”吗?

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/9171705

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档