ボタンを送信すると、すべてのテキストフィールド値が .txt ファイルに書き込まれます。.txt ファイルの内容の例を次に示します。
-----------------------------
How much is 1+1
3
4
5
1
-----------------------------
最初と最後の行----
は、データを分離するためのものです。の後の 1 行目----
はquestion
、下の区切り記号 (1) の前の は、とtrue answer
の間のすべての値はです。question
true answer
false answers
私が今やりたいことは、、、、を別々にエコーアウトすることquestion
です:false answers
true answer
echo $quesiton;
print_r ($false_answers); //because it will be an array
echo $true answer;
解決策は だと思いますがstrpos
、希望どおりに使用する方法がわかりません。このようなことはできますか?:
Select 1st line (question) after the 1st seperator
Select 1st line (true answer) before the 2nd seperator
Select all values inbetween question and true answer
1 つの例のみを示していることに注意してください。.txt ファイルには、これらの質問が ------- で区切られています。
これを解決するためにstrposを使用することについて私の考えは正しいですか? 助言がありますか?
編集:いくつかの機能が見つかりました:
$lines = file_get_contents('quiz.txt');
$start = "-----------------------------";
$end = "-----------------------------";
$pattern = sprintf('/%s(.+?)%s/ims',preg_quote($start, '/'), preg_quote($end, '/'));
if (preg_match($pattern, $lines, $matches)) {
list(, $match) = $matches;
echo $match;
}
これはうまくいくと思いますが、まだわかりません。