我今天早上“很厚”所以请原谅这个简单的问题 - 我有一系列关键字,例如: array('keyword1','keyword2'....)
我有一串文字 - (有点像博客内容的长度,即不只是几个字,但可能是200-800个单词)搜索字符串中关键字的最佳方法是什么,并替换它们带有href链接。因此,在文本“关键字1”(作为纯文本)将变为<a href='apage'>keyword1</a>
等等。
看到说这是很厚的。
谢谢你。
答案 0 :(得分:3)
典型的preg_replace
案例:
$text = "There is some text keyword1 and lorem ipsum keyword2.";
$keywords = array('keyword1', 'keyword2');
$regex = '/('.implode('|', $keywords).')/i';
// You might want to make the replacement string more dependent on the
// keyword matched, but you 'll have to tell us more about it
$output = preg_replace($regex, '<a href="apage">\\1</a>', $text);
print_r($output);
<强> See it in action 强>
现在上面没有做出非常“智能”的替换,因为href
不是匹配关键字的函数,而在实践中你可能想要这样做。在此处查看preg_replace_callback
以获得更多灵活性,或者编辑问题并提供有关目标的更多信息。
答案 1 :(得分:0)
为什么你会使用正则表达式而不仅仅是str_replace()!正则表达式有效,但它使这样一个非常简单的问题复杂化。