Строковый номер в число в PHP - PullRequest
0 голосов
/ 19 октября 2010

Скажем, у меня есть строка, подобная John01Lima

. Можно ли вытащить два числа и получить их в виде чисел, которые можно увеличить с помощью $ number ++?

1 Ответ

1 голос
/ 19 октября 2010

Если ваш формат всегда будет «ГГГГММДД00.pdf», я бы сделал эту маленькую функцию:

function increment_filename($incoming_string)
{
    // The RegEx to Match
    $pattern = "/[0-9]{2}(?=\.pdf$)/i";
    // Find where it matches
    preg_match($pattern, $incoming_string, $matches);
    // Replace and return the match incremented
    return preg_replace($pattern, $matches[0] + 1, $incoming_string);
}

Если вам нужно, чтобы оно соответствовало какому-либо расширению файла, это должно работать:

function increment_filename($incoming_string)
{
    // The RegEx to Match
    $pattern = "/[0-9]{2}(?=\.[a-z]+$)/i";
    // Find where it matches
    preg_match($pattern, $incoming_string, $matches);
    // Replace and return the match incremented
    return preg_replace($pattern, $matches[0] + 1, $incoming_string);
}

Надеюсь, что это помогло, это была отличная практика, чтобы отточить свои навыки в RegEx.:)

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