0

私のサポートチケットシステムでは、返信はユーザーに送信され、件名は[Ticket ID: ######]それに含まれます。

タイトル全体を提供することで、######を取り除くために何を使用できますか?

たとえば、これを有効にする関数は次のとおりです。

[チケット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 に答える