【问题标题】:Escape php eol from string PHP从字符串 PHP 中转义 php eol
【发布时间】:2018-02-15 10:12:27
【问题描述】:

我想从 db 中选择转义字符串 PHP_EOL 或双引号 "\n"

我试过了:

<?php
    header("Content-Type: text/plain");
    $str = 'Hello\nWorld!';
    echo $str;
    sqlInsert("insert ... (str) values ('{$str}')");

输出有效

Hello\nWorld!

但是当我想从数据库中获取它时:

$str2  = sqlget("select ... str");
echo ''.$str2;

将会:不工作

Hello
World!

有什么问题!

【问题讨论】:

  • 使用 echo nl2br($str2);
  • 使用双引号 $str = "Hello\nWorld!";
  • 我要转行!!!!

标签: php sql string escaping


【解决方案1】:

在单引号或双引号字符串中,SQL 不能用作 EOL 的 PHP。

你可以/或:

1.在数据库中存储反斜杠:

你需要转义反斜杠:

$str = 'Hello\nWorld!';
echo $str ;
$str = str_replace('\\n','\\\\n',$str);
sqlInsert("insert ... (str) values ('{$str}')");

2。转换输出:

用文字 \n 替换换行符:

$str = get_from_sql(...);
$str = str_replace("\n", '\n', $str);

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-06
    • 1970-01-01
    • 2016-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-02
    相关资源
    最近更新 更多