0
$pattern = "/of/i";
$text = "Offspring offers OFFENSIVE Offerings";

我想让所有“的”都加粗,但保留案例。我会使用替换功能吗?我会覆盖原始部分(of、of、oF 和 OF 将是)。那么,如何在所有匹配项中“注入”粗体标签而不是替换?

4

2 回答 2

2

只需在替换字符串中使用反向引用($0意味着使用与整个模式匹配的文本)。案件将被保留。

$replaced = preg_replace('/of/i', '<b>$0</b>', $input);
于 2013-05-28T17:50:07.893 回答
1

您应该只使用 preg_replace 捕获:

$pattern = '/(of)/i';
$text = "Offspring offers OFFENSIVE Offerings";
$replace = preg_replace($pattern, '<b>' . $1 . '</b>', $text);
于 2013-05-28T17:50:27.753 回答