【问题标题】:PHP Echo shorthand is removing all forward slashesPHP Echo 速记正在删除所有正斜杠
【发布时间】:2014-02-01 00:25:04
【问题描述】:

这是我的代码的一部分,它应该将背景图像添加到标签,但由于某种原因,当我开始使用 <?= 速记时,所有正斜杠都被删除了:

<label for="<?=$result_id?>_checkbox" id="<?=$result_id?>_label" style="background-image:url("<?=$img?>");" />

这是生成 URL 的代码:

$img = $_SESSION['ROOT_DIR']."data/images/".$folder."/".$result_imageset."/".str_replace(" ", "%20", $result_jpg);

这是$img 变量生成的:

http://localhost:1234/ppa/data/images/20140130/0/RMEuvh3.jpg

编辑:

echo var_dump(ini_get('short_hand_tags'));

生产:

布尔(假)

虽然,以下工作......

<div class="jpg"><?=$result_jpg?></div>

【问题讨论】:

  • 可能是因为“short_hand_tags”不是 ini 变量,“short_open_tags”是。而且,根据php.net/manual/en/language.basic-syntax.phpmode.php,短回显标签始终处于启用状态。你说它删除了斜线,请告诉我们正在生成什么。
  • 奇怪,现在它正在工作,问题可能与 Chrome 的检查代码功能有关。查看源代码显示它正在工作......

标签: php shorthand


【解决方案1】:

查看正在生成的页面的源代码。它对我有用,因为没有删除正斜杠。

但是你的代码有问题:

style="background-image:url("&lt;?=$img?&gt;");"

您有双引号内的双引号。那行不通:)

你想要这个

style="background-image:url('&lt;?=$img?&gt;');"

除了您的代码按预期呈现之外。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-07-26
    • 1970-01-01
    相关资源
    最近更新 更多