首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >试图显示词汇表中单词的定义

试图显示词汇表中单词的定义
EN

Stack Overflow用户
提问于 2010-06-30 14:27:14
回答 1查看 85关注 0票数 1

我试图使用regex解析一些纯文本,并从术语表中添加一个定义到任何匹配它的单词。我就是这样做的

代码语言:javascript
复制
for ( $i = 0; $i < count($terms); $i++ ) {
    $search = '|(?<=\b)('.preg_quote($terms[$i]['title']).')(?=\b)|i';
    $replace = '<a class="tt2" rel="tooltip" title="'.$terms[$i]['pageBody'].'">$1</a>';
    $string = preg_replace($search,$replace,$string);
}

然后我返回$string,但是如果其中一个定义包含一个稍后定义的单词,那么定义也会被添加到其中,所以我不想包含在title=""中的单词。我尝试过使用(?!<=title="),但如果定义为多个单词,并且匹配不是第一个单词,则这是行不通的。

有什么想法吗?

示例输入文本:

超过40,000个化石、岩石和矿物是德文地貌在过去4.9亿年中发生的重大变化的证据。这颗有450万年历史的陨石是我们星球早期的遗迹。鱼龙骨架代表了大型爬行动物主宰海洋和恐龙统治陆地的时代。猛犸象牙是最新冰河时代的遗迹,在此期间,今天的大部分景观特征都是发展起来的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-06-30 15:01:47

您可以尝试2次传球:

代码语言:javascript
复制
1 - replace $term[$i]['title'] by something like XXX$iXXX
2 - replace XXX$iXXX by <a ... title="$terms[$i]['pageBody'] ...
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3150195

复制
相关文章

相似问题

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