![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
前回↓
http://oshiete1.goo.ne.jp/qa29
で回答をいただいて、問題は解決したのですがまた新たに
わからないことがあるので質問させてください。
作っているプログラムは
ユーザーがtextareaからインプットした文章(英語)を
PHPプログラムが読み取り
出現数を数えるというものです。
ここまでは前回の質問で解決したのですが、
その後
インプットした文章から 特に文章の内容に関係ないと思われる単語(例えば、I,am,you,are,and,orなど)を除外したいのです。
そこから、出現回数を数え、一番多い出現数の単語をoutputしてユーザーに返し… とプログラムがさらに続くのですが
「特定の単語の除外」で困っています。
プログラムは今、以下のような状態です。
$story = _Post["story"]; //get the story from HTML doc
preg_match_all("/([a-zA-Z']+)/",$story,$match); //Get the words
foreach($match[0] as $val){
$count[$val]++; // strtolower
}
このプログラムの途中で、特定の単語(I、you、amなど)を削除したいのです。2行目で作った配列matchから特定の単語をうまく除外するよい方法はないでしょうか?
explode、split等ではうまくいきませんでした。
アドバイスをいただけないでしょうか。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
除外対象の単語配列
array('I','am','you',・・・)
を作成してarray_diffで差分を取れないですかね。。
array_diffを使ったところ成功しました!
ほんとうにありがとうございます。
「文字列をformから読み取る
↓
意味のない単語を削除
↓
出現回数をカウント
↓
出現数が一番多い単語を取り出す。
↓
ユーザーにその単語を表示。
とともに、ユーザーがインプットした文書を保存。
↓
今までにこのホームページの全ユーザーがインプットした文章の中で
同じ最頻出単語を返した 文書の数を表示。
↓
さらにリンクを示して、クリックすると、同じ最頻出単語を返した文章を読める。」
という自分にとってきついプロジェクトだったのですが、
おかげさまでようやく完成しました。
単語除外がうまくいかずほんとに困っていました。
ほんとにありがとうございます。
No.3
- 回答日時:
文章1にあり文章2にはない単語の数を数える仕様にした方が
汎用性があると思います。
$pattern="/([a-zA-Z']+)/";
$story1 = 'I am a student. I am a XX university student.';
$story2 ='I,am,you,are,and,or,a';
preg_match_all($pattern,$story1,$match1);
preg_match_all($pattern,$story2,$match2);
foreach($match1[1] as $word){
if(!in_array($word,$match2[1])){
$array[$word]++;
}
}
回答ありがとうございます。
NO.2さんのように 配列を比較するというアイディアで
進めるのがいいようですね。
参考になる回答をありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- TOEFL・TOEIC・英語検定 どう訳したら良いかわかりません。 2 2022/11/07 12:15
- 英語 英語の勉強方法を教えてください。 1 2023/05/28 10:10
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- 仕事術・業務効率化 効率的な勉強方法(分野問わず)を教えてください 1 2023/08/16 01:33
- 大学受験 明治大学受験、もう一冊、英単語張をやるか? 4 2022/10/23 20:50
- 英語 口頭での"the following..."の可否等について 6 2022/08/19 01:01
- 大学受験 大学受験英語の勉強法についてです どうしても英語長文の勉強ができません 初めて数分で絶対にやる気がな 2 2023/05/05 00:32
- 英語 関係代名詞「非制限用法」が説明する先行詞が無冠詞複数形の場合「一般的総称」と見なすことの可否について 10 2022/07/20 10:19
- Visual Basic(VBA) EXCEL VBA 単語置き換え について質問です ブック名 ぶぶぶ シート名 ししし セル V3〜 3 2023/03/08 01:41
- 英語 A healthy 20 centimeters tall の a がなぜ定冠詞でないのでしょうか? 2 2022/10/22 04:40
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
preg_matchでエラーが出ます。
-
VBAを使ってHTMLソースから特定...
-
電話番号のチェック ハイフン...
-
VBAのコマンドボタンの文字列の...
-
ソースコードの1行が長いとき...
-
エスケープ文字の復帰(¥r)と...
-
改行を読み飛ばす
-
C++で空Enterの入力を判...
-
メッセージボックスで1025文字...
-
文字の入力で横バー上段、中断...
-
エクセルVBA 文字列領域が不足...
-
カンマの含まれる文字列の数値...
-
エクセルのCOUNTIFが正しくカウ...
-
数値をASCII文字にする方法につ...
-
ファイルの内容をstrcpyを使っ...
-
ラベル(スタティックテキスト)...
-
VBScriptである文字列に半角文...
-
半角記号、全角記号を含む正規...
-
VBSで"をエスケープする文字は?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
、"(ダブルクォーテーション)...
-
VBAを使ってHTMLソースから特定...
-
PHPで変数から1行目だけを取得...
-
Excelで数字のみを2倍3倍にする...
-
preg_matchでエラーが出ます。
-
正規表現でシングルクォーテー...
-
URLを抽出する正規表現
-
正規表現パターンの記入方法に...
-
PHPで<a>タグ内からURLと文字を...
-
PHP 複数行の正規表現
-
PHPの正規表現で住所を分けるに...
-
電話番号のチェック ハイフン...
-
ereg_match関数について
-
正規表現で「0」のみ抽出
-
PHPメールフォーム URLと半角...
-
preg_matchで Warning: Undefin...
-
phpでメールアドレス入力の入力...
-
正規表現で特定のHTMLタグのク...
-
preg_matchで指定ファイルのタ...
-
変数に指定文字列が含まれると...
おすすめ情報