需要替换的关键词组:repstr.php<?php
$num = 1; // 替换次数
$repstr = array (
'中国人' => 'http://www.chinaren.com',
'中国' => 'http://www.china.com'
);
?>替换代码部分:其中 $text 为文章内容,假设文章内容为:我是一个中国人,我爱中国。include_once('repstr.php');
foreach ($repstr as $k => $v) {
if (preg_match("/($k)/", $text)){
if (preg_match('/^http:\/\//', $v)) {
$text = preg_replace("/($k)/", "<a href=\"$v\">\\1</a>", $text, $num);
} else {
$text = preg_replace("/($k)/", "$v", $text, $num);
}
}
}上面这段代码可以实现替换,但不能准确替换,如果关键词的出现顺序为:中国 中国人 可以准确替换,但是如果先出现中国人,后出现中国,则中国人被替换成<a href="http://www.china.com">中国</a>人,有什么办法可以实现多关键词准确替换。请给我代码,谢谢!已困扰多日。