【问题标题】:Create variable from text string with new lines and quotes [duplicate]从带有新行和引号的文本字符串创建变量[重复]
【发布时间】:2016-10-02 02:21:27
【问题描述】:

我有一些来自文本文件的内容。我想将它加载到 PHP 中的变量中

我只需要将文本直接复制/粘贴到变量中,而无需转义所有引号等

如何做这样的事情?我不是在寻找file_get_content 的解决方案,因为我的用例环境不支持文件读取。

$str = "saldflasdfl

asdklksadlasd "quoted string"


aslkdlsadfkl";

【问题讨论】:

标签: php


【解决方案1】:

怎么样,它允许您在文本块中使用非转义引号:

$str = <<<DATA
saldflasdfl

asdklksadlasd "quoted string"


aslkdlsadfkl
DATA;

请注意,它确实需要在没有空格缩进的情况下添加,因为这将被视为字符串的一部分。

但是,请注意,如果您的文本块超过一定大小,将其放入文本文件并将其读入字符串可能会更干净。

【讨论】:

  • 正是我想要的:)
  • 不用担心@clarkk。正如我所提到的,从文件中读取它可能是值得的,特别是如果你有大约 300K 行。
  • 无法在环境中读取文件..这就是为什么:)
【解决方案2】:

你需要转义 ":

$str = "saldflasdfl

asdklksadlasd \"quoted string\"


aslkdlsadfkl";

【讨论】:

  • 我需要直接复制文字..我不想阅读292838行文字并转义所有引号
  • 所以用你的编辑器把所有的“替换成\”
  • 如果真的有那么多行文本,我会认为您应该将它们放在一个文本文件中并将它们加载到变量中,而不是直接将它们全部转储到 PHP 文件中。
【解决方案3】:

这段代码读取整个文件。

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
$str =  fread($myfile,filesize("webdictionary.txt"));
fclose($myfile);

如果你想一次读一行,你可以这样做:

$myfile = fopen("webdictionary.txt", "r") or die("Unable to open file!");
// Output one line until end-of-file
while(!feof($myfile)) {
  echo fgets($myfile) . "<br>";
}
fclose($myfile);

来源:http://www.w3schools.com/php/php_file_open.asp

【讨论】:

  • 我不是在寻找读取文件的解决方案
  • @clarkk 你能在你的问题中更好地解释它吗?你有什么,你想要什么? “我有一些来自文本文件的内容..我想将它加载到 PHP 中的变量中”这似乎你想从文件中读取一些内容并将其加载到变量中(这就是我的回答。所以告诉我你是什么真的很想要,所以我可以帮助你。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
  • 1970-01-01
  • 2011-04-16
相关资源
最近更新 更多