2012-03-28 8 views
2

基本的なテキストエリアがあります。私がしようとしているのは、提出された後のテキスト区切りからすべての改行を削除することです。ここでPHPの文字列からすべての改行を取り除くことができません

は私の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; 
    } 
?> 

は今\を作成し、nは、私の文字列で、私はShiftキーを押しながら+入力フォームを、記入する際、私は言わせますが、フォームを送信した後、$のをnewTextはまだ "等しいです\ n ""で置き換えるため "\ n"を削除しないでください。

ありがとうございました。

答えて

12

問題は、まずMySQLのために\nをエスケープしていることです。 http://php.net/mysql_real_escape_string

+0

Duh..ok。私はそれを逃したとは信じられません。 – DanielOlivasJr

+1

@DobotJr que answerを答えとしてマークすることを忘れないでください。 –

+1

** ''警告 '** 'この拡張モジュールはPHP 5.5.0で廃止され、将来は削除されますが、代わりにMySQLiまたはPDO_MySQL拡張モジュールを使用してください。 "[Source](http: /br1.php.net/mysql_real_escape_string)。 –

0

CKエディタの内容を貼り付け、uがしたい文字を置き換え、コードの下にこれを使用 またはコピーしてください:あなたは、なぜ見に使用しているエスケープ機能について

<?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; 
    } 
?> 

読む:これを試してみてください交換する...

<?php 
    $desc = trim(stripslashes($crw['Description'])); 
    $desc=str_replace(","," ",$desc); 
    $desc=str_replace("\r\n"," ",$desc); 
    $desc=str_replace("\n"," ",$desc); 
    $desc=str_replace("<br>"," ",$desc); 
    $desc=str_replace("<br />"," ",$desc); 
    echo $desc; ?> 
関連する問題