【问题标题】:Apostrophe in PHP variable breaks code [duplicate]PHP变量中的撇号会破坏代码[重复]
【发布时间】:2018-03-24 05:30:40
【问题描述】:

我创建了一个 PHP 变量:

$msg_gifted='<center><h1>It's a gift! </h1>';

如果我这样离开,代码就会被破坏。

当我将撇号替换为:

$msg_gifted='<center><h1>It is a gift! </h1>';

一切正常。 有没有已知的方法来解决这个问题?

【问题讨论】:

标签: php


【解决方案1】:

你可以的

$msg_gifted="<center><h1>It's a gift! </h1>";

$msg_gifted='<center><h1>It\'s a gift! </h1>';

更新答案

你不能在字符串中使用相同的引号而不转义引号。因此,您要么在字符串周围使用不同的引号,要么使用\ 对其进行转义。简化您的代码以显示不同的可能性,它们都将具有相同的输出。

单个 ' 引号中的字符串

$msg = '<h1>It\'s a gift!</h1><img src="http://path-to-image.jpg" />';

这几乎与双"引号中的字符串相同

$msg = "<h1>It's a gift!</h1><img src=\"http://path-to-image.jpg\" />";

或者你喜欢用不同的引号连接字符串:

$msg = "<h1>It's a gift!</h1>";
$msg.= '<img src="http://path-to-image.jpg" />';

【讨论】:

  • 这更正了最初的问题,但现在 some_image_filename"> 不起作用。图片网址的其余部分为灰色。 $msg_gifted 变量实际上是几行 HTML 代码
  • @xbass540 更新了答案
  • 以上所有内容都很有帮助,并通过使用连接方法更好地控制了我的代码。我意识到完全阻止代码的是
    标签。这在 php 变量中是不允许的吗?
  • @xbass540 如果答案回答了您的问题,请标记为已接受答案。 <center> tag 已弃用,您不应使用它。但是 PHP 根本不关心您是否有 &lt;center&gt; 或任何其他定义为字符串的标签。因为这就是你所做的一切。您只需将字符串放在一个变量中即可。
【解决方案2】:

这样写\

$msg_gifted='<center><h1>It\'s a gift! </h1>';

这在 php 中称为转义 '

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-01-08
    • 1970-01-01
    • 2012-03-07
    • 1970-01-01
    • 2012-07-24
    • 1970-01-01
    • 1970-01-01
    • 2014-11-07
    相关资源
    最近更新 更多