PHP - выберите часть строки между двумя символами - PullRequest
4 голосов
/ 04 января 2011

Я занимался этим исследованием, и я думаю, что ответ - это сделать с помощью регулярных выражений, но я просто не могу разобраться с ними.

У меня есть несколько строк, и мне нужно выбрать число между двумя символами.Вот пример строки

&user18339=18339,20070103,175439,pmt,793,A/3/1/2,335,793,A/3/1/2,

Мне нужно число, которое появляется после A/3/1/2, и перед следующим ,

В этом примере мне нужно выбрать 335.Я могу сделать это, используя Explode, однако у меня возникают проблемы, когда мне нужно получить более одного числа из строки, как в примере ниже.

Вот еще один пример строки

&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,

Снова мне нужно получить числа после A/3/1/2, и до следующего ,.Так что в этом примере я хотел бы взять 142, 1046 и 25.

Если кто-нибудь может дать мне знать, как это сделать, это будет очень признательно.

Ответы [ 3 ]

3 голосов
/ 04 января 2011
$string = '&user31097=31097,20070105,092612,pmt,4190,A/3/1/2,142,1162,A/3/1/1,22,2874,A/3/1/2,1046,4622,A/3/1/2,25,2872,A/3/1/2,';
preg_match_all('/A\/3\/1\/2,([0-9]*?),/', $string, $matches);
var_dump($matches);
2 голосов
/ 04 января 2011
preg_match_all('/A\/3\/1\/2,([^,]+),/', $input, $matches = array());
print_r($matches);
1 голос
/ 04 января 2011
if(preg_match_all('#A/3/1/2,([^,]*),#',$str,$matches)) {                        
        // $matches[1] will have the required results.
}

Посмотреть в действии

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...