【问题标题】:how to fix variables starting with tags in php如何在php中修复以标签开头的变量
【发布时间】:2014-12-25 04:34:37
【问题描述】:

我有以下代码:

$name = "<test>";

$msg = "Hi $name Hope your feeling well today";

print_r ($msg);

问题是,它会打印Hi Hope your feeling well today 并跳过$name

当我这样尝试时:

$name = "<test>";

$msg = "Hi ".$name." Hope your feeling well today";

print_r ($msg);

它也打印了同样的内容。

当我尝试它时:

$name = "<test>";

$msg = 'Hi $name Hope your feeling well today';

print_r ($msg);

它打印了Hi $name Hope your feeling well today

我需要一个解决方案,以便以 &lt; 或任何其他 PHP 相关代码开头的变量 $name 将按原样打印。

【问题讨论】:

    标签: php html variables tags


    【解决方案1】:

    查看您网页的来源。它就在那里。您看不到它,因为它位于浏览器将其解释为 HTML 的括号中。由于 HTML 标记被解释而不显示,因此您看不到该内容。

    要显示这些括号,您需要将它们转换为 HTML 实体。您可以使用恰当命名的 htmlentities() 函数来执行此操作。

    $name = "<test>";
    $msg = "Hi $name Hope your feeling well today";
    echo htmlentities($msg, ENT_NOQUOTES, 'UTF-8');
    

    【讨论】:

    • 大声笑我只是想说,在 cmets; 以防万一 ;-)
    • @Fred-ii- 我对你的期望不会少!圣诞快乐(提前 20 分钟)!
    • 谢谢,也祝你圣诞快乐,约翰,干杯(根据我们之前发送的其他聊天地点);-)
    • 非常感谢它为 $name = "$test"; $name = htmlentities($name, ENT_NOQUOTES, 'UTF-8'); $mess = "Hi $name Hope your feeling well today"; print_r ($mess); 而我只是为 $name 空白
    • 哦,剧情变厚了,原来如此。
    【解决方案2】:

    用 &lt; 代替 > &amp;gt;

    【讨论】:

    • 这是一个我无法控制的用户名变量,我使用了 str_replace ,但它不是一个可靠的解决方案
    • 对于这个问题我认为str_replace是一个很好的解决方案,没有标准的解决方案。
    • 但我不想剥离标签 :) 我知道有一个解决方案,但我还是找不到它,非常感谢您的帮助
    猜你喜欢
    • 1970-01-01
    • 2020-01-07
    • 2011-02-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-09-14
    • 1970-01-01
    相关资源
    最近更新 更多