php - 无法从 PHP 中的字符串中删除所有换行符

标签 php whitespace

我有一个基本的文本区域表单。我想要做的是在提交后从文本区域中删除所有换行符。

这是我的 PHP:

<?php 
   if (isset ($_POST['comment_form_submit'])) {
    $body = mysql_real_escape_string($_POST['body']);

    $breaks = array("\r\n", "\n", "\r");
    $newtext = str_replace($breaks, "", $body);

    echo $newtext;
   }
?>

现在假设我在填写表单时按下 Shift+enter,这会在我的字符串中创建一个\n,但是在提交表单之后,$newtext 仍然等于“\n”,不应该是“\n”已删除,因为我将其替换为“”

谢谢。

最佳答案

问题是您首先要为 MySQL 转义 \n。试试这个:

<?php 
   if (isset ($_POST['comment_form_submit'])) {
    $body = $_POST['body'];

    $breaks = array("\r\n", "\n", "\r");
    $newtext = str_replace($breaks, "", $body);

    $newtext = mysql_real_escape_string($newtext);

    echo $newtext;
   }
?>

阅读您正在使用的转义函数以了解原因:http://php.net/mysql_real_escape_string

关于php - 无法从 PHP 中的字符串中删除所有换行符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9914707/

相关文章:

php - "sudo composer"命令有效但 "composer"无效?

php - 使用 PHP 将制表符转换为空格以供 HTML 显示?

Pug:强制在行尾添加空白

CSS Stack 图片从右到左,出DIV

php - 使用 Slim Framework 原生的 Cartalyst Sentinel 的激活问题

php - 如何在 YII 中更改 GridView 列的大小?

php - 在 jquery 中循环显示来自 php 的值到下拉列表

c++ - 在 C++ 中删除多余的空格

html - html源代码中空格的值

php - 在 PHP 中获取文件 mime 类型的最佳方法