【问题标题】:latex doesn't display carriage returns from mysql query乳胶不显示来自mysql查询的回车
【发布时间】:2012-02-18 02:42:16
【问题描述】:

在 html 表单的文本区域中,我允许多行输入,例如:


你好

再见


这个字符串然后被放入一个带有 mysql_real_escape_string 的 mysql 数据库中。 现在我想获取这个字符串并将其直接传递到 tex 文档中,但是空行(我想是回车)没有与字符串一起输出。因此,当这是用乳胶编译时,我得到输出


你好,再见


我需要对我的字符串做些什么来保留回车符?

【问题讨论】:

    标签: mysql latex


    【解决方案1】:

    经过我们的聊天讨论,我们得出了以下结论:

    你用过

    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。这是不正确的。
    • Geoff:那是因为您正在使用一种使用 `\` 作为转义字符的语言进行替换。查看我的编辑:)
    • 是的,我也试过了,在这种情况下它有效!但是假设我想继续使用 \begin{enumerate} (CR) \item hi (CR) \end{enumerate},然后我在 tex 文件中的 \item 之前得到 \\ ,然后这不起作用。因此,理想情况下,我希望将一个空格/回车符解析为 tex 源,而不是用 \\. 模拟它
    • ps:如何在 cmets 中进行换行?我回车,评论就发布了!
    • @Geoff:我不关注。您可以编辑原始问题以包含此示例吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-05-31
    • 2014-12-03
    • 2019-04-14
    • 1970-01-01
    • 2018-06-20
    • 2017-07-18
    • 1970-01-01
    相关资源
    最近更新 更多