如何使字符串中的所有数字变为粗体?
例如:
$st_nu = "Today123"
会变成Today<b>123</b>
.
您可以使用正则表达式仅加粗数字。
preg_replace('/(\d+)/', '<b>$1</b>', $st_nu);
它的作用是匹配任何长度为 1 或多个字符的数字,然后用<b>
标签(粗体)围绕它。
使用您的示例,您将获得以下信息:
今天123
请参阅此答案以从字符串中删除数字。然后,如果你想将它输出为 HTML,你可以将它包装在一个<b>
标签中,或者最好使用 CSS 来设置它的样式。
所以你可以做
preg_match_all('!\d+!', $st_nu, $matches);
编辑:我有点误解了你的问题。这是一种方法。如果您有多个数字,则可以循环遍历匹配数组。
foreach ($matches as $res) {
$replaceStr = "<b>" . $res . "</b>";
str_replace($res, $replaceStr, $st_nu);
}