PHP は条件に従って txt コンテンツを読み取ります。
これで、次の内容のメモ帳が作成されました。
論文
BioPublisher が発行するすべてのジャーナルの研究論文は、無料でオンラインで即時かつ永続的に利用可能です。多くのジャーナルでは、レビューや論文レポートなどの他のコンテンツを閲覧するには、機関または個人の購読が必要です。
about
tel:****** ** ************** 住所:********************************** ** *****
私は今、PHP を使用してこのメモ帳を読んでいます。このメモ帳には優れた段落があり、各段落の前にタイトルがあるためです。今、前のタイトルを通して別の内容を読みたいと思っています。
専門家のアドバイスをお願いします。
-----解決策--------------------------------
ロジックが間違っています。爆発後の配列要素に @
が含まれていません。
のように変更します。 <?php $file_name="ディレクトリ.txt"; $fp=fopen($ファイル名,'r'); while(!feof($fp)) //すべてのファイルを読み取る必要があります { $buffer=fgets($fp); // 行を取得します。長さは追加しません。 if(preg_match('/s*@/i', $buffer)){// 通常の使用 echo "これはタイトルです<br>"; echo $buffer."<br>"; }それ以外{ echo "これは本体です<br>"; echo $buffer."<br>"; } } fclose($fp); // ファイルストリームを閉じる ?> <br><font color="#e78608">------解決策------------------</font><br> //タイトルの前に @ 記号を追加し、これを使用してタイトルを区切ります。@ は上部の大括弧内にある必要があることに注意してください<br><br>
$find = 'about' //探しているタイトル $file_name="ディレクトリ.txt"; $fp=fopen($ファイル名,'r'); $title = ''; $content = ''; while($buffer = fgets($fp,1024)) //ファイルを完全に読み取る必要はありません { if($buffer{0} == '@') { //タイトルかどうかを確認する if($title == $find) Break //必要に応じて終了します。 $title = trim($buffer, '@'.PHP_EOL); // タイトルを保存します。 $content = '' //コンテンツをクリアします } else $content .= $buffer // コンテンツを保存します。 } fclose($fp); //ファイルストリームを閉じる コンテンツをエコーします。"<br>"; <br><font color="#e78608">------解決策---------</font><br>タイトルが固定パターンの場合は1行読んでください, 次に、タイトルが <br><br> であるかどうかを確認します。たとえば、この行にはスペースが含まれていてはならず、長さが 1 未満である必要があります。 <br><font color="#e78608">------解決策------------------</font><br>ヘルプサポート....<br> <div class="clear"></div>