私は、ユーザが自分の入力を書き込んでデータベースに保存することを可能にするテキストエリアを持っています。データベース入力のためのテキストエリアのコピーされたタブを検出する
ユーザーの大部分は、単語や同様のプログラムからテキストをコピーします。単語や同様のプログラムでは、タブもテキストエリアにコピーされます。
タブがデータベースに保存されると、自動的にタブが1つのスペースに変換されます。
タブを適切なタブとしてデータベースに保存するか、または設定した空白数で保存したいのですが、最初にタブをキャッチできません。
これは、しかし、私は私ので、タブはしてもキャッチされていないことを伝えることができ、私は(ユーザからの入力を取得した後、データベースに保存する前に)これまで
str_replace("\t", " ", $string);
str_replace(chr(9), " ", $string);
を試してきたものですこれを試してください:
if (strpos($string, "\t") !== false)
{
exit("The tab was found");
}
'exit'は呼び出されません。
私はこれに対する答えを広範囲に調査しましたが、私は修正を見つけることができませんでした。
本当にありがとうございます。
"タブがデータベースに保存されると、タブは自動的に1つのスペースに変換されます。" ---この時点から発見する必要があります。データベースには、そこに置いているものがすべて格納されます。そのまま。 – zerkms
'foreach($ string as $ char)は" $ char: "をエコーします。 ord($ char)。 "\ n";あなたに?実際のタブではないので、これらの文字が本当に何であるか把握できるはずです。 –
問題はチェーンの遠い方です。 PHPに渡される変数に何らかの理由でタブが含まれていないようです。フォームへのリンクを投稿できますか? JavaScriptがフォームの値をPHPスクリプトに送るために使用されていますか、フォームを直接送信していますか?値を見る前に、フォームの値に前処理が行われていますか? –