繁体   English   中英

php preg_replace带空格的电话号码

[英]php preg_replace phone number with spaces

我有以下代码,该代码在字符串中找到一个数字并将其设为粗体。 但是,如果电话号码中有空格,则b标签会多次添加。 我需要修改哪些内容以允许在电话号码内的任何地方?

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

使用此正则表达式:

(\d[\d\s]*)(?=\s+)

这个怎么运作:

(
  \d             # First digit
  [\d\s]*        # Any more digits or whitespace
)
(?=\s+)          # To make sure not to Capture last whitespace

它不会捕获最后一个空格,因此您不会以<b>123</b>结尾,而是以<b> 123 </b>结尾

Regex101上的现场演示

演示版


此RegEx也将起作用:

/([\d\s]+)/

但是,如果没有数字,只有空格,它将与字符串匹配。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM