2017-03-22 75 views
0

我有一个包含链接列表的文件。链接全部采用/pagename.htm的格式。我试图使用preg_replace_callback来获取所有这些页面名称,但回调函数永远不会被调用。我相信它与正则表达式有关,但我不知道如何解决它。请有人指出这个问题。使用preg_replace_callback获取页面名称

return preg_replace_callback("/^(\/(.*?)\.htm)$/", "HandleLinks", $filenames); 

    function HandleLinks($matches) { 
     echo 'match '.$matches[1].'<br>'; 
     return $matches; 
    } 
+2

给我的文件名 –

+1

的示例串显示'$ filenames'内容 – RomanPerekhrest

+0

的文件名会像/bob.htm ,/sally.htm,/fred.htm或/anyname.htm。唯一不变的是他们将以/开头,并以.htm结尾。在/之前会有文本,并且可能会在.htm之后。所以一个字符串可能是“BoboSally,依此类推。 – user3052443

回答

0

我能得到这个用了以下工作:

preg_replace_callback("/(\/(.*?)\.htm)/", "HandleLinks", $filenames);