Нужно достать число от 4-6 символом из строки, что бы после неё не стояло через любое кол-во пробелов "руб" или "руб." Делаю так:
$Pattern = "/([\d]{4,6})(?!\s*rub\.?)/";
Из строки без "руб" вырезает нормально. В строке где есть "руб", всё равно ловит число, и отъедает последнею цифру. Помогите исправить.
Сделал так:
if (preg_match($Pattern, /*$message->body*/
"Ваш номер 7854 руб. 1452 руб Долг 341328 руб", $matches) === 1) {
echo "Count of matches: ".count($matches)."\n";
var_dump($matches);
//$Code = $matches[0];
//echo "Code is:".$Code . "\n";
}
Найти ничего не должен. Но результат такой:
Count of matches: 1
array(1) { [0]=> string(5) "34132" }
//$str = 'Ваша задолженность 1000руб. Скорость интернета ограничена до пополнения счета. Уникальный номер для оплаты 12345 10444 - ваш код для активации обещанного платежа на сумму 100 руб.';
$str = 'Ваш номер 7854 руб. 1452 руб Долг 341328 руб';
$patt = '~\b\d{4,6}\b(?!\s*руб\.?)~';
preg_match_all($patt, $str, $arr);
var_dump($arr);
Результат:
array (size=1)
0 =>
array (size=2)
0 => string '12345' (length=5)
1 => string '10444' (length=5)
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Перевод документов на английский язык: Важность и ключевые аспекты
Хочу сделать небольшой опросник, в котором для уникальности каждого конкретного пользователя, используется его локальный ip-адресСайт находится...
Есть ссылка на сайт, перейдя по которой на сайте выполняется определенное действиеНа этот сайт открыт доступ только некоторым ip (моему серверу)...