首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >两个相似词的preg_replace

两个相似词的preg_replace
EN

Stack Overflow用户
提问于 2014-03-13 10:18:04
回答 2查看 131关注 0票数 0

在斯洛伐克语中有两个非常相似的表达方式,我有一个问题。我试图替换html链接的表达式,这是下面的示例代码。我有大约90个单词在数组中。

代码语言:javascript
复制
// mysql query above.
for($i=1;$i<=$datas[1];$i++) {
  $regex[] = '/('.htmlentities($rows['title'], ENT_QUOTES, 'UTF-8').')/i';
  $wrl[] = '<a href="'.URL.'link/'.urlencode($rows['alias']).'" class="underscored">'.strtolower($rows['title']).'</a>';
}
$content = preg_replace($regex, $wrl, $content);

但我有一个非常相似的词的问题:(纳尼西丁乳突,鼻烯乳突kyseliny)。preg_replace从较长的单词中删除了ne,这会导致单词链接到错误的文章。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-13 10:46:08

尝试修改正则表达式,在要用链接替换的短语前后指定一个单词边界\b

代码语言:javascript
复制
$regex[] = '/\b('.htmlentities($rows['title'], ENT_QUOTES, 'UTF-8').')\b/i';
票数 1
EN

Stack Overflow用户

发布于 2014-03-13 10:45:26

您可以使用\W预置和附加正则表达式。

代码语言:javascript
复制
$regex[] = '/\W('.htmlentities($rows['title'], ENT_QUOTES, 'UTF-8').')\W/i';
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22375405

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档