我想回显一条具有以下内容的行:
<ca>
-----BEGIN CERTIFICATE-----
MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD
我试过了
echo <^<ca>^>
但它没有用。
我想回显一条具有以下内容的行:
<ca>
-----BEGIN CERTIFICATE-----
MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD
我试过了
echo <^<ca>^>
但它没有用。
您有三个主要选择:
echo \<ca\>
— 用反斜杠转义特殊字符echo '<ca>'
— 用单引号将字符串括起来echo "<ca>"
— 用双引号将字符串括起来如果该行存储在变量中,则只有第三种方式(双引号)有效:
line="<ca>" # Could be written three ways
echo "$line" # The old-fashioned safe way (preserves spacing if there are spaces)
echo $line # The new-fashioned unsafe way, IMNSHO
“新式”方式将是安全的,因为尖括号不会被解释为 I/O 重定向。这是不安全的,因为它失去了间距。我强烈建议始终使用双引号;它会工作*。
$ line="< aa bb cc >"
$ echo "$line"
< aa bb cc >
$
* 那些说双引号没有必要的人指的是诸如[[ ... ]]
条件句之类的上下文。我宁愿不处理不必要的特殊情况;在这种情况下使用双引号也可以正常工作,所以我不会花时间记住何时可以安全地省略双引号——双引号总是有效的,所以我总是使用它们。
尝试使用单引号:
echo '<ca>'
您可以为此简单地使用 echo 命令。您可以将其与单引号或双引号一起使用
echo "<ca>";
这对我有用:
<?php
$str=htmlspecialchars("<ca>");
$str.="\n-----BEGIN CERTIFICATE-----\n";
$str.="MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD\n";
echo nl2br($str);
?>
您是要写入文件还是仅显示在屏幕上?