【发布时间】:2012-02-18 02:42:16
【问题描述】:
在 html 表单的文本区域中,我允许多行输入,例如:
你好
再见
这个字符串然后被放入一个带有 mysql_real_escape_string 的 mysql 数据库中。 现在我想获取这个字符串并将其直接传递到 tex 文档中,但是空行(我想是回车)没有与字符串一起输出。因此,当这是用乳胶编译时,我得到输出
你好,再见
我需要对我的字符串做些什么来保留回车符?
【问题讨论】:
在 html 表单的文本区域中,我允许多行输入,例如:
你好
再见
这个字符串然后被放入一个带有 mysql_real_escape_string 的 mysql 数据库中。 现在我想获取这个字符串并将其直接传递到 tex 文档中,但是空行(我想是回车)没有与字符串一起输出。因此,当这是用乳胶编译时,我得到输出
你好,再见
我需要对我的字符串做些什么来保留回车符?
【问题讨论】:
经过我们的聊天讨论,我们得出了以下结论:
你用过
shell_exec("cat ".$PATH."/LatexTemplate.tex | sed -e 's/LatexCode/$latexcode/' > ".$PATH."/TexFiles/Q$id.tex");
在 PHP 脚本中将存储在数据库中的乳胶输入插入模板文件并保存。在这个过程中的某个地方,换行符被删除了。
最好的解决方案是将 shell exec 替换为 PHP 等效项,该等效项将文件加载到字符串中,用(未转义的)输入字符串执行字符串替换并将其存储在另一个文件中。
【讨论】:
$str = str_replace('\r\n','\\',$str);,但我得到的只是插入到我的 tex 文件中:hello\goodbye。这是不正确的。