代码之家  ›  专栏  ›  技术社区  ›  medoix

PHP echo()MySQL结果包含<>个字符?

  •  2
  • medoix  · 技术社区  · 15 年前

    我正在从我的SQL数据库中检索数据。。。

    数据库中的数据= (21:48:26) <username> some text here. is it ok?

    当我试着 echo $row['log']."<br>";

    它在这里显示为=(21:48:26)一些文本。可以吗?

    3 回复  |  直到 15 年前
        1
  •  8
  •   Pekka    15 年前

    使用 htmlspecialchars()

    echo htmlspecialchars($row['log'])."<br>";
    
        2
  •  3
  •   Harmen    15 年前

    您需要对字符进行转义,使其不被识别为HTML元素,而被识别为文本:

    echo htmlentities( $row['log'] ) . '<br/>';
    
        3
  •  1
  •   Kel    15 年前

    使其认为是HTML的括号

    是的,<gt;括号中的任何结构都被web浏览器视为HTML标记。因此,您应该使用htmlspecialchars()或htmlenties()或其他类似的自定义函数将“<”和“>”符号转换为“<”和“&gt;”字符串,这些字符串以方括号的形式显示给用户。

    更多评论:

    • 所有显示给用户的文本数据都必须通过htmlspecialchars()函数(或其他具有类似行为的函数)传递,因为“某些文本”也可能包含标记等。

    推荐文章