PHP string - '<' 有什么问题?
PHP string - what's wrong with '<'?
我正在处理字符串,不知何故 php 只是决定忽略下面的字符串(如果里面有“<”)。我找不到任何相关信息。看这个例子:
$str = 'foo<bar'
// echoes foo, foo<bar expected
有没有我不知道的字符串运算符?包裹在 ' ' 内的字符串不应由 php 求值,对吗?
您的浏览器可能将其解释为 HTML,并将 <bar
视为部分 HTML 标记。由于它不知道如何呈现 bar
标记,因此它什么也没有显示,只呈现文本 foo
。
如果您转到 view-source
或将文件作为 text/plain
发送,所有文本都会显示。
如果您想在 HTML 文档中呈现字符串 foo<bar
,您可以执行 echo htmlspecialchars($str)
,这会将字符串打印为 foo<bar
。此 转义 <
字符,因此它不会被解释为 HTML。
可能是您的浏览器正在删除它,因为它看起来像一个错误的 html 标签。
按Ctrl+U(查看源码)查看..
检查结果页面的源代码视图,输出无效html,因此不可见。
正确的字符串是'foo<bar'
使用这个
htmlspecialchars ("foo<bar");
我正在处理字符串,不知何故 php 只是决定忽略下面的字符串(如果里面有“<”)。我找不到任何相关信息。看这个例子:
$str = 'foo<bar'
// echoes foo, foo<bar expected
有没有我不知道的字符串运算符?包裹在 ' ' 内的字符串不应由 php 求值,对吗?
您的浏览器可能将其解释为 HTML,并将 <bar
视为部分 HTML 标记。由于它不知道如何呈现 bar
标记,因此它什么也没有显示,只呈现文本 foo
。
如果您转到 view-source
或将文件作为 text/plain
发送,所有文本都会显示。
如果您想在 HTML 文档中呈现字符串 foo<bar
,您可以执行 echo htmlspecialchars($str)
,这会将字符串打印为 foo<bar
。此 转义 <
字符,因此它不会被解释为 HTML。
可能是您的浏览器正在删除它,因为它看起来像一个错误的 html 标签。
按Ctrl+U(查看源码)查看..
检查结果页面的源代码视图,输出无效html,因此不可见。
正确的字符串是'foo<bar'
使用这个
htmlspecialchars ("foo<bar");