Umr001
@Umr001
php

Как вставить скобки в нужных местах в строку, без использования циклов?

Есть строка "update.get.[0-9]+.[a-z]+"
нужно получить "(update).(get).([0-9]+).([a-z]+)"
  • Вопрос задан
  • 118 просмотров
Решения вопроса 3
@Barmunk
чтобы не заниматься циклами, регулярками и т.п. можно вспомнить что строка сама по себе массив, значит можно что-то типа того:

$str = 'test';
echo $str[0].$str[1].$str[2];


а еще можно воспользоваться str_split или substr_replace
Ответ написан
Комментировать
@errogaht
PHP developer
$s1 = "update.get.[0-9]+.[a-z]+";
$s2 = "(update).(get).([0-9]+).([a-z]+)";
$res = preg_replace(
    '/^(\w+)\.(\w+)\.(\[\d+?\-\d+?\].*?)\.(\[\w+?\-\w+?\].*?)$/',
    '($1).($2).($3).($4)', $s1
);

var_dump($res === $s2); //true
Ответ написан
Комментировать
@MrTimon
В вашем варианте можно так:
$str = 'update.get.[0-9]+.[a-z]+';
$result = '(' . str_replace('.', ').(', $str) . ')';
print $result ;
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы