我有一个在表格中显示的文本文件。我正在使用 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)。
我还需要使网页所在的文件夹路径生效。
- 文件夹路径是动画的标题。因此,如果我们为 Naruto 123 执行此操作,则文件夹路径为 Naruto/。
所以最后链接将如下所示:
http://website/folderpath/animetitle animechapter
我遇到的问题是我可以获得正确的文件夹路径,但我无法创建 2 个或更多不同的链接。我的代码用相同的链接替换了火影忍者 123 和火影忍者 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 而不是 preg_match_all 的原因是因为如果我将 preg_match_all 用于链接,我会得到 ARRAY 的输出,我希望你看到我想要的结果。