【问题标题】:Convert uppercase matches to bold using regex使用正则表达式将大写匹配转换为粗体
【发布时间】:2013-07-25 19:19:10
【问题描述】:

我需要找到一个字符串中的所有大写单词并将其设置为粗体

$_POST['descricao'] = "UPPERCASE test WORD"
$_POST['descricao'] = preg_replace("\b[A-Z]{2,}\b", "<b>\\1</b>", $_POST['descricao']);

它应该返回:&lt;b&gt;UPPERCASE&lt;/b&gt; test &lt;b&gt;WORD&lt;/b&gt;

【问题讨论】:

    标签: php regex preg-replace uppercase bold


    【解决方案1】:

    你需要捕获组并包围模式:

    preg_replace("/\b([A-Z]{2,})\b/", "<b>\\1</b>", $_POST['descricao']);
    

    【讨论】:

    • 不用分组,\\0也可以整场比赛。
    • @dev-null-dweller,公平的,我喜欢直言不讳。
    • 谢谢它的工作.. 这个$str = "PAREDE BOX" 它返回&lt;b&gt;PAREDE&lt;/b&gt; &lt;b&gt;BOX&lt;/b&gt; 我需要&lt;b&gt;PAREDE BOX&lt;/b&gt;
    • 更新你的正则表达式以允许空格。
    • 我对正则表达式不太了解我应该怎么做?
    【解决方案2】:

    使用这个:

    $_POST['descricao'] = "UPPERCASE test WORD"
    $_POST['descricao'] = preg_replace("/\b([A-Z]{2,})\b/", "<b>$1</b>", $_POST['descricao']);
    

    【讨论】:

      猜你喜欢
      • 2012-11-14
      • 1970-01-01
      • 2018-04-07
      • 1970-01-01
      • 2015-04-16
      • 2011-06-21
      • 1970-01-01
      • 2019-05-15
      • 1970-01-01
      相关资源
      最近更新 更多