【问题标题】:Php basics: printing <?PHP 基础:打印 <?
【发布时间】:2012-06-23 08:55:20
【问题描述】:

重新阅读了一些关于 php 基础知识的内容,为了刷新一些内容并在编码时更准确,我尝试使用 print 函数在字符串中打印 &lt;? 并注意到我找不到方法来做到这一点.

我有点困惑,因为阅读了单引号和双引号之间的区别,我认为在单引号字符串中唯一需要特殊处理的字符是反斜杠和单引号(如 O'Reilly 文献中所示)。

当然,&lt;? 不是任何类型的字符串,但我想知道如何在字符串中打印它。

我试图逃避它,把它放在一个变量中,在此处使用文档,但没有任何成功。 实际上在Firefox中查看源代码,我可以看到字符但它们没有显示。

这是我的测试字符串:

print 'No space between <? and php if you want to avoid errors!';

我怀疑它是非常基础的,但我仍然认为完全正确地掌握所有基础知识是要走的路,所以我来了。

【问题讨论】:

  • 习惯htmlspecialchars您的输出,了解何时以及如何使用它。注意只有一个答案提到它
  • 谢谢,不知道这个函数,让我看看php手册并刷新我对htmlentities()的记忆。

标签: php string escaping


【解决方案1】:

这不是 PHP 问题。 HTML 将其解释为标签的分层并将其呈现为 HTML。查看页面的来源。

解决方案

【讨论】:

  • 谢谢,我拿第一个(少写了...)
  • @IamZesh:是的,但是第二个更灵活(如果你想在之后也回显?&gt;,它会自动为你做!)
【解决方案2】:

存在空格、 等字符,除非使用特定序列,否则无法打印。 要在 HTML/XML 输出页面中打印以下内容,您必须使用以下字符替换它

< = &lt;
> = &gt;

等等……

【讨论】:

    【解决方案3】:

    HTML 与用于定义标签元素的字符作斗争。试试这个:

    print 'No space between &lt;? and php if you want to avoid errors!';
    

    另外,如果您想以编程方式转义这些字符,您可以使用函数htmlentities()

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-04-19
      • 2011-04-15
      • 2011-03-19
      • 1970-01-01
      • 2017-12-01
      • 2018-04-29
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多