【问题标题】:how to display "<?" AND "?>" tags in php如何显示“<?”和“?>”在php中的标签
【发布时间】:2011-11-14 00:21:25
【问题描述】:

如何回显包含 php 标签的字符串

每当我在我的 IDE 中编写此代码时,它只是假定它们是 PHP 代码的一部分。

【问题讨论】:

  • 您使用的是什么 IDE?听起来它的语法高度可能不是很先进。你的字符串是 HTML 块还是 PHP 块?
  • 我正在使用 phpED... 它位于 javascript 块中,但作为 PHP 文档的一部分。这是行: var oldString =""+$('#hidden').html();
  • 那是 JavaScript。请参阅我的新答案。

标签: php string tags escaping


【解决方案1】:

您可以使用 PHP html_entities

echo html_entities($text);

我通常使用 UTF-8,所以我强制使用这种编码:

echo html_entities($text, ENT_COMPAT, "utf-8");

【讨论】:

  • text.replace(/&lt;/g, '&amp;lt;').replace(/&gt;/g, '&amp;gt;')(纯 JS)或$(element).text(text)(jQuery)
【解决方案2】:

像这样

echo "&lt;? ... ?&gt;";

有关其他“HTML 实体”的列表,请参阅此网站。 http://www.w3schools.com/html/html_entities.asp

【讨论】:

【解决方案3】:

如果您的 IDE 有一些怪癖(根据您的问题特异性,我认为这只是语法突出显示故障),那么您可以使用部分/连接字符串进行比较:

if ($compare == "<"."?") {
// or stristr()

这实际上曾经是 PHP3 的一种解决方法,它使用更简单的标记器并且不允许在字符串上下文中使用裸 ?&gt;

【讨论】:

  • OP 正在 JavaScript 中处理字符串,而不是最初认为的 PHP。他需要用加号替换句号。
【解决方案4】:
var oldString ="<" + "? xml version=\"1.0\" encoding=\"UTF-8\"?" + ">"+$('#hidden').html();

【讨论】:

  • 我不知道谁对我投了反对票,但如果您能阅读 OP 更新的 cmets 并撤消您的反对票,我将不胜感激。他在 JavaScript 块中执行此操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-01-10
  • 2021-10-12
  • 1970-01-01
  • 1970-01-01
  • 2011-04-25
  • 1970-01-01
  • 2020-08-02
相关资源
最近更新 更多