Убедитесь, что строка содержит название месяца, затем что-нибудь, а затем двоеточие.Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Убедитесь, что строка содержит название месяца, затем что-нибудь, а затем двоеточие.

Сообщение Anonymous »

Я хочу знать условие preg_match в PHP, чтобы проверить, начинается ли строка с месяца (с января по декабрь) и заканчивается двоеточием (:). Между ними может быть любой алфавит, символ или цифра. Может кто-нибудь помочь? Застрял на час, не получил нужных результатов.
Например, строка "2 декабря,&*&98hkjk:" должна возвращать значение true.
Я получил шаблон для месяца и двоеточия с помощью txt2re.com, но понятия не имею, как его сформировать и проверить результат.
$txt = 'May k!ur2!3:';

$re1 = '((?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Sept|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?))'; # Month 1
$re2 = '.*?'; # Non-greedy match on filler
$re3 = ':'; # Uninteresting: c
$re4 = '.*?'; # Non-greedy match on filler
$re5 = '(:)'; # Any Single Character 1

if ($c = preg_match_all ("/" . $re1 . $re2 . $re3 . $re4 . $re5 . "/is", $txt, $matches))
{
$month1 = $matches[1][0];
$c1 = $matches[2][0];
echo "Matched \n";
}
else
{
echo "No match";
}

РЕШЕНИЕ ЕСТЬ:
$txt = $_POST['wtfb'];

$re1 = '((?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:tember)?|Sept|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?))'; # Month 1

$re4 = '.*?'; # Non-greedy match on filler
$re5='(:)'; # Any Single Character 1

if ($c = preg_match_all ("/" . $re1 . $re4 . $re5 . "/is", $txt, $matches))
{
$month1 = $matches[1][0];
$c1 = $matches[2][0];
echo 'Match';
}
else
{
echo 'No match';
}


Подробнее здесь: https://stackoverflow.com/questions/299 ... en-a-colon
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»