0

在我的支持票系统中,回复被发送给用户并且主题包含[Ticket ID: ######]在其中。

通过提供整个标题,我可以用什么来去除######?

例如,一个函数会变成这样:

[Ticket ID: 600238] 忘记密码,请重设:(

进入这个:

600238

主题可以以任何字符开头,但工单 ID 括号与主题本身使用空格分隔。

是否有正则表达式可以做到这一点?

4

2 回答 2

5

您可以使用preg_match.

if (preg_match("/\[Ticket ID: (\d+)\]/", $input, $matches)) {
    $ticket_id = $matches[1];
}
于 2012-09-05T03:07:23.730 回答
1

'[' ']' 在正则表达式中具有空间含义,因此您必须在正则表达式中对其进行转义。您需要的正则表达式是/\[Ticket ID: [\d]{6}\]/

如果不确定单词之间的空格数,您可能希望在单词之间使用 [\s]+。

这个正则表达式会给你完整Ticket ID: ######的,你必须再次提取数字。

RegExp 非常强大,您可以在此处了解有关 RegExp 的更多信息

于 2012-09-05T03:40:13.073 回答