次のコードでファイルから入力を取得しています
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh), " \t\n\r"))));
私も以前にトラブルシューティング中にこれらを試しました
$jap= str_replace("\n","",addslashes(strtolower(trim(fgets($fh)))));
$jap= addslashes(strtolower(trim(fgets($fh), " \t\n\r")));
$ japをエコーすると問題ないように見えるので、コードの後半で$ japに他の変更を加えることなく、DBに挿入されますが、このjapがすでにDBにあるかどうかを確認する比較テストで、iの場合にfalseが返されることに気付きました。一見まったく同じjapのエントリがDBにあることがはっきりとわかります。だから私はphpmyadminまたはjapが表示されている私のサイトから直接挿入されたjapエントリをコピーし、メモ帳に貼り付けます...(これは以下の引用符に正確に貼り付けられています)
「」
あにのって、うみへろうました」
そして明らかに私が必要としているのは、その空白や切れ目などがないことです。
私が知る限り、トリムはそれが行うと言っていることを行っていません。またはここで何かが足りない。もしそうなら、それは何ですか?
更新:ジャックスの答えに関して
preg_replaceは役に立ちませんでしたが、これが私がしたことです。bin2hex()を使用して、「必要な部分ではない」部分がefbbbfであると判断しました。見つけることを期待して、残っているものはbin2hexに入ります。結果は上記の「efbbbf」でした
echo bin2hex(str_replace("どちらがあなたの本ですか","",$jap));
上記の出力はefbbbfでしたが、それは何ですか?どういうわけかこれを削除するためにstr_replaceを作成できますか?