dtqjbbr5283 2016-12-02 12:23
浏览 35
已采纳

函数在给定字符串utf-8上设置特定单词的样式?

How to style specific words from a given string ? i hyave a function to style specific words from a given string but this is not working in utf-8 string

 header('Content-type: text/html; charset=utf-8');
function bold($string, $word)
{
    return preg_replace('/\b'.$word.'\b/', '<strong>'.$word.'</strong>', $string);
}

echo bold('چمستان تا', 'تا');

How can i do this ? I need to bold some keyword / phrases in the search resut based on typed user query

Any help would be appreciated

  • 写回答

1条回答 默认 最新

  • doufang1954 2016-12-02 12:33
    关注

    Make sure that:

    • Your pages are saved with UTF8 encoding
    • Add /u modifier
    • Better preg_quote the search word just in case

    Use

    preg_replace('/\b'.preg_quote($word,'/').'\b/u', '<strong>'.$word.'</strong>', $string);
    

    As an alternative to \b, you may use non-ambiguous word boundaries (no word char before or after the search word are allowed):

    preg_replace('/(?<!\w)'.preg_quote($word,'/').'(?!\w)/u', '<strong>'.$word.'</strong>', $string);
    

    or - to enforce the match inside whitespaces:

    preg_replace('/(?<!\S)'.preg_quote($word,'/').'(?!\S)/u', '<strong>'.$word.'</strong>', $string);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 装 pytorch 的时候出了好多问题,遇到这种情况怎么处理?
  • ¥20 IOS游览器某宝手机网页版自动立即购买JavaScript脚本
  • ¥15 手机接入宽带网线,如何释放宽带全部速度
  • ¥30 关于#r语言#的问题:如何对R语言中mfgarch包中构建的garch-midas模型进行样本内长期波动率预测和样本外长期波动率预测
  • ¥15 ETLCloud 处理json多层级问题
  • ¥15 matlab中使用gurobi时报错
  • ¥15 这个主板怎么能扩出一两个sata口
  • ¥15 不是,这到底错哪儿了😭
  • ¥15 2020长安杯与连接网探
  • ¥15 关于#matlab#的问题:在模糊控制器中选出线路信息,在simulink中根据线路信息生成速度时间目标曲线(初速度为20m/s,15秒后减为0的速度时间图像)我想问线路信息是什么