我的代码中有一个字符串,如下例所示:
<?php
$find = '<tag';
$string = 'blah blah <tag=something>';
?>
很简单,但是当我尝试回显字符串时,它不喜欢 字符。所有得到回应的是:
巴拉巴拉
所以,基本上我猜我需要转义这些字符才能让它们在 PHP 中工作,但我不确定具体如何操作。我将其用于模板系统,因此在 html 文件中可以使用以下方法包含文件:
<include="filename.html">
所以我不需要随时在屏幕上显示 字符,我只需要读取文件,找到这些标签的实例并做一些魔术。我已经让所有部分都正常工作,但它只是包含大于/小于运算符的任何字符串,似乎无法正常工作。
有任何想法吗?
使用 PHP,您可以生成 HTML 标记,因此您必须找到一种方法来区分 HTML 元素字符 ( )。 HTML 中存在特殊的字符序列,称为HTML 实体 http://en.wikipedia.org/wiki/HTML_entities。这些是用 & 符号、某种速记来描述的,并以分号结尾。
这里有些例子:
> : > (greater-than)
< : < (less-than)
& : & (ampersand)
» : » (right angle quote marks)
é : é (e acute)
几乎所有的角色都可以用这样的实体来表示,但它很快就会变得乏味。您只需记住 以及 URL 的 & 即可。
如果您的目的是显示小于/大于符号,您的代码应该像这样重写。
<?php
$find = '<tag';
$string = 'blah blah <tag=something>';
?>
正如其他答案中提到的,您可以使用该功能htmlspecialchars()
转换变量中的字符(例如,来自用户输入)。
<?php echo htmlspecialchars($string); ?>
将显示blah blah <tag=something>
用于在网络浏览器中查看。否则,如果您在命令行上使用 PHP,则不需要使用此函数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)