0

我想回显一条具有以下内容的行:

<ca>
-----BEGIN CERTIFICATE-----
MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD

我试过了

echo <^<ca>^> 

但它没有用。

4

4 回答 4

3

您有三个主要选择:

  • 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  >
$

* 那些说双引号没有必要的人指的是诸如[[ ... ]]条件句之类的上下文。我宁愿不处理不必要的特殊情况;在这种情况下使用双引号也可以正常工作,所以我不会花时间记住何时可以安全地省略双引号——双引号总是有效的,所以我总是使用它们。

于 2013-08-10T06:35:11.940 回答
1

尝试使用单引号:

echo '<ca>'
于 2013-08-10T06:16:44.217 回答
0

您可以为此简单地使用 echo 命令。您可以将其与单引号或双引号一起使用

echo "<ca>";
于 2014-05-10T15:58:06.307 回答
0

这对我有用:

<?php
$str=htmlspecialchars("<ca>");
$str.="\n-----BEGIN CERTIFICATE-----\n";
$str.="MIIDyzCCAzSgAwIBAgIJAKRtpjsIvek1MA0GCSqGSIb3DQEBBQUAMIGgMQswCQYD\n";
echo nl2br($str);
?>

您是要写入文件还是仅显示在屏幕上?

于 2013-10-25T09:12:35.580 回答