我现在已经实现了php输出html的指定关键词链接到指定的URL,但是有一个问题是通篇所有的关键词都会链接,我想控制它链接的次数或者只让它链接文章中出现的第一个关键词,请问如何实现?已经实现的关键词自动链接代码如下:
function keylink($cont){
$keys = array(
array('关键词1','http://链接1')
);
foreach($keys as $nkeys){
$cont = preg_replace("/($nkeys[0])/iU","<a href=\"".$nkeys[1]."\">$nkeys[0]</a>",$cont);
}
return $cont;
}
求php大大!!!

解决方案 »

  1.   

    mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )第四个参数,limit限制为1.
      

  2.   

    $cont = preg_replace("/($nkeys[0])/iU","<a href=\"".$nkeys[1]."\">$nkeys[0]</a>",$cont,1);
    }
      

  3.   

    preg_replace()还有两个参数,这两个参数可以实现你的目标function(){
    // ...
    $cont = preg_replace("/($nkeys[0])/iU","<a href=\"".$nkeys[1]."\">$nkeys[0]</a>",$cont, 1, $count);
      

  4.   

    $cont = preg_replace("/($nkeys[0])/iU","<a href=\"".$nkeys[1]."\">$nkeys[0]</a>",$cont,1);  //第四个参数指定替换次数。