2013-07-24 43 views
0

我正在嘗試加載一個簡單的txt文件,並在頁面上打印出它的內容。分割並打印文本文件作爲鏈接

這個文本文件基本上只包含我的網站的網站地圖。

例如:

Home,index.php 
Services,services.php 
Register,register.php 
Contact,contact.php 
Login,login.php 
My Account,my-account.php 

這是我的代碼至今:

$fileContentsArray = file("sitemap.txt"); 
    echo "<table>"; 
    foreach($fileContentsArray as $one_link) 
    { 
     echo '<tr>'; 
     $splitted = preg_split('/,/', $one_link); 
     foreach ($splitted as $one) 
     { 
     echo "<td>$one</td>"; 
     } 
     echo '</tr>'; 
    } 
    echo "</table>"; 

雖然,這是打印出來的格式如下文件:

Home  index.php 
Services services.php 
Register register.php 
Contact  contact.php 
Login  login.php 
My Account my-account.php 

我需要稍微更改格式,以便頁面標題,鏈接提供的鏈接。例如,Home必須鏈接到index.php,並且服務必須鏈接到services.php。我沒有興趣只是在我的sitemap.txt文件中有完整的錨鏈接標籤,因爲這只是失敗的目的。

我完全停留在這一個,並不知道如何做到這一點。我對PHP非常陌生,並且通過搜索網絡從一段代碼構建了我的代碼塊。

非常感謝所有幫助。

+0

沒有理由使用正則表達式來簡單地分割字符/字符串。使用'explode()'。 – h2ooooooo

回答

2

你可以嘗試

echo "<table>"; 
foreach($fileContentsArray as $one_link) 
{ 
    echo '<tr>'; 
    list($name, $link) = explode(",", $one_link); 
    echo "<td><a href=\"$link\">$name</a></td>"; 
    echo '</tr>'; 
} 
echo "</table>"; 
+0

+1:**完全**是我即將進入的解決方案,包括'list'和'explode'。榮譽第一。 – Herbert

+0

夢幻般的答案,完美的作品。 非常感謝您的幫助! – Fizzix

0

你不需要循環。只要改變:

foreach ($splitted as $one) 
{ 
    echo "<td>$one</td>"; 
} 

與:

echo "<td> 
      <a href=\"$splitted[1]\" title=\"$splitted[0]\"> 
       $splitted[0] 
      </a> 
     </td>"; 

其中一個錨(a)被插入在所述小區(td)。