首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在字符串上搜索单词并更改格式

在字符串上搜索单词并更改格式
EN

Stack Overflow用户
提问于 2014-11-12 13:35:10
回答 5查看 72关注 0票数 4

我不想通过php创建高亮标记搜索功能

当我搜索单词的word...whole的一部分时

例如,这是一个示例文本:

英国监管机构称,交易员利用私人网络聊天室来协调他们的买卖,使货币价格对他们有利。

当我搜索"th“时,输出如下:

文字:英国监管机构表示,交易员利用私人网络聊天室协调,协调他们的买卖,用调整货币价格,让他们的更受青睐。

所以.我试过这个code...please帮我完成它。

这是一种算法:

代码语言:javascript
复制
$text= "British regulators say...";
foreach($word in $text)
{
  if( IS There "th" in $word)
   {
      $word2= '<b>'.$word.'</b>'
      replace($word with word2 and save in $text) 
   }
}

我怎么能用php语言呢?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-11-12 13:42:22

代码语言:javascript
复制
function highLightWords($string,$find)
{
   return preg_replace('/\b('.$find.'\w+)\b/', "<b>$1</b>", $string); 
}

使用:

代码语言:javascript
复制
$string="British regulators say traders used private online chatrooms to coordinate their buying and selling to shift currency prices in their favor.";
$find="th";
print_r(highLightWords($string,$find));

小提琴

评论后的编辑:

...How我能为中间人物做这个吗?例如“行”

非常简单,只需相应地更新regex模式即可。

代码语言:javascript
复制
return preg_replace("/\b(\w*$find\w*)\b/", "<b>$1</b>", $string); 

小提琴

票数 2
EN

Stack Overflow用户

发布于 2014-11-12 13:43:36

使用strpos()查找您搜索的字符的位置。然后开始阅读那个识别的字符位置,直到你找不到任何空间。

票数 2
EN

Stack Overflow用户

发布于 2014-11-12 13:40:37

应该容易得多:

代码语言:javascript
复制
$word = "th";
$text = preg_replace("/\b($word.*?)\b/", "<b>$1</b>", $text);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26888282

复制
相关文章

相似问题

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