簡體   English   中英

如何使用php從文本文件顯示定義列表

[英]How to display definition list from text file using php

我在一個文本文件中有電影學分的定義列表。 我使用preg_split讀取並通過以下行分隔文件:

$infoLines= preg_split( "/\\n|:/", file_get_contents(getPath($dir,"info.txt")));

我需要顯示此文件的內容,每個偶數索引將具有<dt>標記,而每個奇數索引將具有<dd>標記。 我正在嘗試通過使用foreach循環來做到這一點。

我找到了一個帶有以下示例的教程站點

$movie = array( "title" => "Rear Window",
            "director" => "Alfred Hitchcock",
            "year" => 1954,
            "minutes" => 112 );

echo "<dl>";

foreach ( $movie as $key => $value ) {
echo "<dt>$key:</dt>";
echo "<dd>$value</dd>";
}

echo "</dl>";

哪些打印:

title:
    Rear Window
director:
    Alfred Hitchcock
year:
    1954
minutes:
    112

我試圖將類似的內容合並到我的代碼中,但是由於我正在從文件中讀取並且未手動設置數組/鍵,因此無法正常工作。

function DisplayInfo($dir){
  $infoLines= preg_split( "/\n|:/", file_get_contents(getPath($dir, "info.txt")) );


  echo "<dl>";
  foreach ($infoLines as $key => $value) {
     echo"<dt>$key</dt>";
     echo"<dd>$value</dd>";
  }
  echo "</dl>";
}

我的輸出是:

0
    STARRING
1
    Cary Elwes, Robin Wright, Andre the Giant, Mandy Patinkin
2
    DIRECTOR
3
    Rob Reiner

但是我需要:

STARRING
    Cary Elwes, Robin Wright, Andre the Giant, Mandy Patinkin

DIRECTOR
    Rob Reiner

我覺得自己快要死了,已經走到了盡頭。 如何在PHP中正確顯示定義列表?

有很多示例,例如我發布的示例,但沒有一個示例處理txt文件中的信息。

根據您的代碼,我假設文件中的一行看起來像

DIRECTOR:Rob Reiner

在這種情況下,在准備打印之前,請勿拆分行數據。

function DisplayInfo($dir){
  $infoLines= file(getPath($dir, "info.txt"));
  echo "<dl>";
  foreach ($infoLines as $line) {
     list($key, $value) = explode(':', $line, 2); 
     echo"<dt>$key</dt>";
     echo"<dd>$value</dd>";
  }
  echo "</dl>";
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM