不推荐使用:不推荐使用函数split()。 修复此特定实例

I am trying to fix a specific instance of function split being depreciated. Here is the original line:

list($file, $link, $text) = split("\|", $imagedb[$i]);

I tried

list($file, $link, $text) = explode ("\|", $imagedb[$i]);

and

list($file, $link, $text) = preg_split("/|/", $imagedb[$i]);

neither worked, what this script does is take a line from a text file like this:

21.jpg|http://www.kelleysisland.com/crafts/|Crafts Lakeview Lane

and creates a grid of random photos that are linked, with linked titles under them here:

http://kelleysisland.com/where-to-stay/cottages-and-homes

Here is the complete script if that helps:

$sFilename = "imagedb2.txt";
$sTemplate = "template.html";
$thumburl = "http://www.kelleysisland.com/thumbs";
function show_thumbs() {
    global $sFilename, $sTemplate, $thumburl;
    $imagedb=file($sFilename);
    shuffle($imagedb);
    $i=0;
    while($i<count($imagedb)) {
        $d=1;
        $template=file_get_contents($sTemplate);
        while(preg_match_all("/<% image$d %>/", $template, $matches)) {
            list($file, $link, $text) = split("\|", $imagedb[$i]);
            $template=preg_replace("/<% image$d %>/", "<a href=\"$link\" target=\"_blank\"><img src=\"$thumburl/$file\" border=0></a>", $template);
            $template=preg_replace("/<% text$d %>/", "<a href=\"$link\" target=\"_blank\">$text</a>", $template);
            $d++;
            $i++;
        }
        echo $template;
    }
}