我正在编写一个 PHP 函数,它应该将某些关键字转换为链接。它使用 UTF-8 中的西里尔字母。所以我想出了这个:
function keywords($text){
$keywords = Db::get('keywords'); //array with words and corresponding links
foreach ($keywords as $value){
$keyword = $value['keyword'];
$link = $value['link'];
$text = preg_replace('/(?<!\pL)('.$keyword.')(?!\pL)/iu', '<a href='.$link.' class="linked">$1</a>', $text);
}
return $text;
}
到目前为止,这就像一个魅力,但现在我想用链接替换短语 - 可能包含其他关键字的短语。例如,我希望单词“car”链接到一个地方,而“blue car”链接到另一个地方。
有任何想法吗?