2011-12-13 5 views
0

私はPHPの関数を使用して、テキストエリアからPOST経由で単語の数を数えています...私のstr_word_countを投げ捨てるのは何ですか?

問題は、私がファイルに戻って単語カウントを出力すると、同じテキストをコピーしてPHPスクリプトに貼り付けて、単語数を評価してください。

数字を投げ捨てていますか? 6単語の違いがあり、偶然にもテキストエリアに6重複改行があります。

この違いを最小限にするにはどうすればよいですか?

+0

設定してみてください第二引数 'str_word_count($データを、1)'それそう遭遇したすべての単語の配列を返し、次にそれを配列にしてそこに置かれている奇妙なものを見る 'var_dump()'を返します。 – animuson

+0

あなたはそれを聞いている間あなた自身の質問にちょうど答えました。 – netcoder

+0

さて、問題は文字領域の奇妙な文字であると思います。数を投げ捨てていると信じている束があります...私はこれらの論文で何をしていますか?私はhtmlentitiesを試みたが、それはさらにカウントを投げている。 –

答えて

0

あなたの改行をHTML形式である場合は、そうでない場合は、私はエンコーディングの問題が疑われるstrip_tags()

のようなものを使用することができます。たぶんstripslashes、utf8_encodeまたはutf8_decodeの組み合わせが、間違ったカウントされた単語を解決する可能性があります。

最後の手段として、[a-zA-Z]とスペース以外のものをフィルタリングする正規表現を使用できます。より良い

str_word_count(str_replace('<br>', '', nl2br(strip_tags($data)))); 

または私はこれは推測:

0

あなたは完全に改行やタグを削除でき

str_word_count(strip_tags(nl2br($data)));