【问题标题】:What's the final solution to set html attributes with PHP?用 PHP 设置 html 属性的最终解决方案是什么?
【发布时间】:2009-10-03 18:46:38
【问题描述】:

我现在就是这样做的:

<a title="<?php echo $title; ?>">...

但是当 $title 中包含 " 时它会中断。

【问题讨论】:

    标签: php html


    【解决方案1】:

    并不是说它是“最终解决方案”,但显然您需要转义任何不包含 HTML 的文字字符串。在这种情况下:

    <a title="<?php echo htmlspecialchars($title); ?>">
    

    【讨论】:

    • 其实你可以在title属性中加入HTML。只需确保将所有引号替换为 "... 我使用了这个 jQuery 工具提示 (cssglobe.com/post/1695/…),并且包含了所有类型的 HTML 标记。
    • 是的,您可以在 HTML 中使用,但不能在 XHTML 中使用。即使在 HTML 中,您也需要对 & 符号进行转义,以便它不会被评估为实体。一般来说,转义所有内容是一个更好的主意,即使您使用的是 HTML。它不应该影响工具提示插件,因为它查看的是解析值,而不是原始 HTML 文件。
    【解决方案2】:

    您应该首先通过htmlspecialchars 运行它,以确保您的 HTML 不会中断。

    【讨论】:

      【解决方案3】:

      您应该首先将特殊字符转换为 HTML 实体,使用 htmlentities() 轻松完成。

      <a title="<?php echo htmlentities($title); ?>">
      

      【讨论】:

      • 如果没有必要,不要使用 htmlentities()。请改用 htmlspecialchars()。即使我们不需要,htmlentities() 也会对一些字符进行编码,从而浪费空间。
      猜你喜欢
      • 1970-01-01
      • 2011-01-18
      • 1970-01-01
      • 2011-01-07
      • 1970-01-01
      • 1970-01-01
      • 2018-04-02
      • 1970-01-01
      相关资源
      最近更新 更多