如何从文本文件中找到单词后创建超链接


How to create hyperlink after finding the words from text file

我有一个包含链接和网站名称的文本文件。

例如:

雅虎 http://www.yahoo.com
谷歌 http://www.google.com

然后我必须将此文本文件加载到我的PHP网站中。我可以加载文件

然后我必须将此文本转换为超链接。我必须找到链接的位置。

我使用过:

echo strchr("$array[$x]","http") // find the hyperlink
echo substr("$array[$x]",0,8) // find the website name

找到网站名称及其超链接后如何使用<a href ...></a>创建链接?

我试过了:

echo "<a href = "echo strchr("$array[$x]","http");>echo substr("$array[$x]",0,8). "<br>'n"; </a>

但它不起作用。事实上,我不知道该怎么做。这里有人可以帮助我修复它吗?


以下是我的示例代码:

s13.postimg.org/ce8omobnr/image.png

s23.postimg.org/ym3nifyfv/image.png

不知道为什么你不只使用 explode 来拆分输入文件中每一行的片段,除非输入的格式与您显示的格式不同。

否则,您可以使用 file(( 读取输入文件,这将返回文件中的行数组。然后,您可以遍历此数组并将每行分解为两部分。第一部分是名称,第二部分是超链接。然后只需创建链接标签即可完成设置。

示例代码:

<?php
$lines = file('input.txt');
foreach ($lines as $curLine)
{
    $pieces = explode(" ", $curLine, 2);
    echo sprintf("<a href='"%s'">%s</a>'n", trim($pieces[1]), trim($pieces[0]));
}

编辑:刚刚看到您的更新,并注意到每行的标记之间有多个空格或其他空格字符。在这种情况下,请替换以下行:

$pieces = explode(" ", $curLine, 2);

跟:

$pieces = preg_split('/'s+/', $curLine);

编辑 2:如果每行标签和超链接之间的实际分隔符是一个或多个制表符,并且标签可能包含空格(请参阅下面的 Fred 评论(,则将该行更改为:

$pieces = preg_split('/'t+/', $curLine);

这将防止preg_split拆分包含空格的标签。

    $file1 = "test.txt";
    $lines = file($file1);
    foreach($lines as $line_num => $line)
    {
    //echo $line;
    $piece=explode(' ',$line);
    //echo $piece[0]."<br>";
    //echo $piece[1];
    echo '<a href="'.$piece[1].'">'.$piece[0].'</a><br>';
    }

文件"测试.txt":

Yahoo http://www.yahoo.com
Google http://www.google.com

编辑

所以,一个小小的更新:

$file1 = "updir/bookmark.txt";
$lines = file($file1);
foreach($lines as $line)
{
    $piece=explode(" ",$line);
    $link=trim($piece[1]);
    $text=trim($piece[0]);
    echo '<a href="'.$link.'">'.$text.'</a><br>';
}