【问题标题】:How to make file_get_contents recognize escape sequences as special characters?如何让 file_get_contents 将转义序列识别为特殊字符?
【发布时间】:2015-09-23 19:26:05
【问题描述】:

我需要从文件中获取内容,以便将转义序列(如 \n)识别为特殊字符。

考虑代码:

<?php
$f = file_get_contents("test.txt");
echo "$f";
?>

而 test.txt 仅包含:

Test\nOnly

它回响:

Test\nOnly

虽然我想拥有:

Test
Only

有没有办法使用 file_get_content 来完成它,或者我应该使用其他东西(比如输出缓冲)?

【问题讨论】:

  • 不是file_get_contents的错,而是你的内容输出到哪里了。
  • 好吧,我将它作为 CLI 脚本运行并打算将其输出到终端。
  • 如果它显示的是文字 \n,那么这正是您在 test.txt 文件中所拥有的......首先使用真正的换行符创建文件
  • 或者,你必须 str_replace() 或 preg_replace 你的 '\n'"\n" 之前回应它
  • 如果你的文件确实包含这样的 VT 转义序列,那么你需要正确解析它......你不能指望 PHP 自动为你做这些......或者首先确保它们不存在于文件中

标签: php file-get-contents ansi-escape


【解决方案1】:

尝试使用printf,该函数会输出格式化字符串。

<?php
$f = file_get_contents("test.txt");
printf ($f);
?>

【讨论】:

  • 不。语法为:printf(format, var...) 和"%s" 格式与这种双引号转义序列解释无关。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-11-07
  • 2018-09-25
  • 1970-01-01
  • 2012-04-14
  • 2012-10-30
  • 2015-04-28
相关资源
最近更新 更多