【发布时间】:2011-08-10 16:03:15
【问题描述】:
我正在开发 PHP 中类似 SSN 的数字的自动完成功能。因此,如果用户搜索“123”,它应该会找到数字 444123555。我想将结果加粗,因此,444<b>123</b>555。但是,我想将其格式化为 SSN - 从而创建 444-<b>12-3</b>555。
有什么办法可以说“将破折号放在第 n 个数字之后”吗?因为我不想要第 n 个字符,只想要第 n 个数字 - 如果我可以说“在第三个数字和第五个数字之后放一个破折号,忽略像 之类的非数字字符”,那就太棒了。这在正则表达式中可行吗?
或者有什么不同的方法让我在这里逃脱?
【问题讨论】:
-
您是否已经有了搜索结果,或者正在获取问题的搜索结果部分?如果您已经有搜索功能,请描述它是如何匹配的。这也是匹配突出显示的正确部分所必需的。
-
我在输入中修剪破折号并在数据库中的破折号修剪列中搜索。