0

について質問がありますfilter

私は次のものを持っています:

$htmlDataユーザー入力html文字列が含まれており、次のようになります

$htmlData = array('<em>test</em>', 'text here','\n')

//I use htmlspecialchars function and want to filter \n out and save it to DB.

       $texts = htmlspecialchars($htmlData[$i]);

        if(!empty($texts) && $text != '\n'){
             echo $text;   //I still see '\n' here for some reason.
         }

'\n'で空白になるだけなので、DBに保存したくありませんDB。とにかくこれを防ぐために何かありますか?助けてくれてありがとう!

4

2 に答える 2

1

$text != '\n'文字列にバックスラッシュとそれに続く文字「n」が含まれているかどうかを確認するだけです。比較したいのは改行なので、$text != "\n"代わりに使用する必要があります。

http://php.net/manual/en/language.types.string.php#language.types.string.syntax.doubleも参照してください

于 2013-07-30T00:09:28.753 に答える
1

使用trim():

この関数は、str の先頭と末尾から空白を取り除いた文字列を返します。2 番目のパラメーターがない場合、trim() は次の文字を削除します。

" " (ASCII 32 (0x20)), an ordinary space.
"\t" (ASCII 9 (0x09)), a tab.
"\n" (ASCII 10 (0x0A)), a new line (line feed).
"\r" (ASCII 13 (0x0D)), a carriage return.
"\0" (ASCII 0 (0x00)), the NUL-byte.
"\x0B" (ASCII 11 (0x0B)), a vertical tab

他の解決策については、この質問を参照してください:文字列から新しい行を削除する

于 2013-07-29T23:57:14.287 に答える