#正規表現を使用し、ユーザーの入力文字に応じてTRUE FOLSEを表示したい
ユーザーの入力した値を代入した「$input」
テキストファイルから取り出した大量の英文章一行(約300〜500)を代入した「$text」
上記二つを使用し、正規表現をかけ、ユーザーの入力文字$inputに応じてTRUE FOLSEを表示したいです。
php
1 2$textfile = @fopen("XXX.txt", "r"); 3if ($textfile) { 4 while (($text = fgets($textfile, 4096)) !== false) { 5 } 6 if (!feof($textfile)) { 7 echo "Error: unexpected fgets() fail\n"; 8 } 9 fclose($textfile); 10} 11 12 // 標準入力 13 $input= trim(fgets(STDIN)); 14 // 部分一致 15 if (preg_match($input, $text)) { 16 echo "Searching for".$input."in XXX.txt"."\n"; 17 echo "RESULT:TRUE"."\n"; 18 } else { 19 echo "Searching for".$input."in XXX.txt"."\n"; 20 echo "RESULT: FALSE"."\n"; 21 22 } 23 24
現在の状況
$inputに正規表現をかけることが出来ていない為なのか、text内に記載されている文字をユーザー入力しても
preg_match(): Empty regular expression in
と表示されます。
if (preg_match($input, $text))の$inputには正規表現は使用出来ないのでしょうか
その他の正規表現の方法等ございましたら
どなたかご教授いただけませんでしょうか。
宜しくお願い致します。
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/10/07 06:06 編集
2021/10/07 07:49
2021/10/07 09:14