テーブルに表示するテキスト ファイルがあります。私は preg_match_all を使用して特定のタイトルを特定のチャプターで見つけており、タイトルとチャプターを preg_replace に置き換えてリンクにしています..
たとえば、テキスト ファイル内の内容は次のとおりです。
Dec 04 20:15 Naruto 123
Dec 04 17:42 Naruto 98
Dec 04 16:19 D Gray Man 001
Dec 04 16:05 Bleach 128
Dec 04 12:13 50 x 50 44
そして、タイトルとチャプター... (つまり、ナルト 123) を、それが配置されている Web ページへのリンクに置き換えます。
また、Web ページがあるフォルダーパスを有効にする必要があります。
- folderpath はアニメのタイトルです。したがって、Naruto 123 の場合、フォルダー パスは Naruto/ です。
したがって、最終的にリンクは次のようになります。
http://website/folderpath/animetitle animechapter
私が抱えている問題は、正しいフォルダーパスを取得できるが、2 つ以上の個別のリンクを作成できないことです。私のコードは、Naruto 123 と Naruto 98 を同じリンクに置き換えます。
これが私のコードです:
<?
$data=file_get_contents('series-updates.txt'); //get data from file
$regexp[0]="/(Naruto)[[:space:]](\w+)/";
$regexp[1]="/Naruto/";
preg_match($regexp[0], $data, $matches); //match Manga Title with Chapter for URL
$url= $matches[0];
preg_match($regexp[1], $data, $matches2); //match Manga Title for folderpath
$folderpath= $matches2[0];
$patterns= '/(Naruto)[[:space:]](\w+)/';
$replacements= '<a href="'.$folderpath.'/'.$url.'">'.$url.'</a>';
$data=preg_replace($patterns,$replacements, $data);
$dat=explode("\n",$data); //split data at new lines
echo '<table cellspacing=0>';
foreach ($dat AS $value) { //loop
echo '<tr><td>'.$value.'</td></tr>';
}
echo '</table>';
?>
コードの出力は次のとおりです。
http://xennetworks.com/output3.php
** また、php コードで preg_match_all の代わりに preg_match を使用している理由は、リンクに preg_match_all を使用すると ARRAY の出力が得られ、希望する結果を見てもらいたかったからです。