powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите, что неправильно в маске регулярного выражения?
2 сообщений из 2, страница 1 из 1
Подскажите, что неправильно в маске регулярного выражения?
    #39144183
Alibek B
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть такая функция:
Код: php
1.
2.
3.
4.
5.
6.
7.
function _wrap($text, $len=4, $mask="\d", $zwsp="-")
{
	$pattern = "/({$mask}{{$len}}?)({$mask})/";
	$replace = "\${1}{$zwsp}\${2}";
	$res = preg_replace($pattern, $replace, $text);
	return $res;
}



По идее, она должна вставить дефисы через каждые четыре цифры в длинных числах.
Но она первый дефис вставляет через четыре цифры, а последующие через пять.

Если шаблоны упростить до таких:
Код: php
1.
2.
	$pattern = "/({$mask}{{$len}}?)/";
	$replace = "\${1}{$zwsp}";


тогда дефис вставляется каждые четыре символа.
Но тогда он будет вставлен и в таком случае: "1234" -> "1234-".
А я бы хотел, чтобы он не вставлялся в конце слова.
________________________
Мы смотрим с оптимизмом...
...в оптический прицел.
...
Рейтинг: 0 / 0
Подскажите, что неправильно в маске регулярного выражения?
    #39144194
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Alibek B.,

После вставки дефисов обрежь лишние через trim().
...
Рейтинг: 0 / 0
2 сообщений из 2, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Подскажите, что неправильно в маске регулярного выражения?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]