-3

如何使字符串中的所有数字变为粗体?

例如: $st_nu = "Today123"会变成Today<b>123</b>.

4

2 回答 2

4

您可以使用正则表达式仅加粗数字。

preg_replace('/(\d+)/', '<b>$1</b>', $st_nu);

它的作用是匹配任何长度为 1 或多个字符的数字,然后用<b>标签(粗体)围绕它。

使用您的示例,您将获得以下信息:

今天123

于 2013-08-15T02:01:18.237 回答
1

请参阅答案以从字符串中删除数字。然后,如果你想将它输出为 HTML,你可以将它包装在一个<b>标签中,或者最好使用 CSS 来设置它的样式。

所以你可以做

preg_match_all('!\d+!', $st_nu, $matches);

编辑:我有点误解了你的问题。这是一种方法。如果您有多个数字,则可以循环遍历匹配数组。

foreach ($matches as $res) {
    $replaceStr = "<b>" . $res . "</b>";
    str_replace($res, $replaceStr, $st_nu);
}
于 2013-08-15T01:50:19.380 回答