phpのfile()関数を使ってテキストファイルから作成した配列から特定の単語を抽出しようとしています。PHPファイル内で特定の単語を検索する
テキストファイルにsample.txtは、このようなものです:
A registration has been received.
Name: test
Lastname: test2
Email: [email protected]
Company/School: Test2
Company2: test3
Address1: test4
Address2: test5
City: test6
State: test7
Country: test8
Zipcode: test9
今、私が使用しているファイル()関数は、配列の中に、このテキストファイルを配置します。
$file_name='sample.txt';
$file_array=file($file_name);
次に、ループをたどって各値を抽出し、この配列から '名前'という単語を検索しました。
$data1='Name';
foreach($file_array as $value){
if(stripos($value,$data1)===FALSE)
echo "Not Found";
else
echo "Found";
}
しかし、常に「見つかりません」と表示されます。私はstrpos、strstr、preg_matchを使ってみましたが、役に立たなかった。また、ファイルから作成するのではなく、単語の通常の配列を使用すると、正しく動作します。
ありがとうございました。
更新:この問題の私の目的は、最初にどのフィールドが元であるかを検出することです。 '名前'とその値ex。 'test'
このコードを試しましたが、まだ「見つかりませんでした」と表示されます – Sugat
print_r($ file_array)を使用してキーの外観を調べてみます。 – Matthew
私はあなたの意見を見ます。したがって、キーは実際には "[2] => Name:test"のような数字です。だから私は名前を指定することから名前を得ることができ、この場合は "名前"ではなく "2"になります。しかし、この場合、まず配列キーを見てから値を変更しなければならないので、テキストファイルの中で "Name"の位置が変更された場合、スクリプトが壊れてしまいます。しかし、これは今のところうまくいくので、とにかくおかげさまです。 – Sugat