duanqi5114 2018-09-02 06:06
浏览 79

仅匹配正则表达式保留大小写的一部分

Lets say I want to replace a word saved in a string. I want to replace that word with the same word, that I have stored with the first letter as lower-case in a variable, adding html tags in the expression. I do care the case sensitivity in all letters but first.

So far: no problem.

But when I replace the expression, it always returns me the first letter with lower-case. And I wanted to replace all of them with their case. Example:

Subject: "<p>Lucky said that lucky is an unlucky word.</p>"

Word stored and searched: "lucky"

What I'd love to have: "<p><b>Lucky</b> said that <b>lucky</b> is an unlucky word.</p>"

That's what I've tried:

$word="lucky";
$result=preg_replace("/\b(?i)".substr($word,0,1)."(?-i)".substr($word,1)."\b/","<b>".$word."</b>","<p>Lucky said that lucky is an unlucky word.</p>");

It returns:

<p><b>lucky</b> said that <b>lucky</b> is an unlucky word.</p>

First lucky does not keep the "L".

  • 写回答

0条回答

    报告相同问题?

    悬赏问题

    • ¥15 聚类分析或者python进行数据分析
    • ¥15 逻辑谓词和消解原理的运用
    • ¥15 三菱伺服电机按启动按钮有使能但不动作
    • ¥15 js,页面2返回页面1时定位进入的设备
    • ¥50 导入文件到网吧的电脑并且在重启之后不会被恢复
    • ¥15 (希望可以解决问题)ma和mb文件无法正常打开,打开后是空白,但是有正常内存占用,但可以在打开Maya应用程序后打开场景ma和mb格式。
    • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
    • ¥20 腾讯企业邮箱邮件可以恢复么
    • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
    • ¥15 错误 LNK2001 无法解析的外部符号