Привести строку к определенному виду

cyborgg4655

Всем привет, возникла задачка. Нужно вот такую строку - "Фамилия,Имя,Отчество" приветси в такой вид: "[Фамилия],[Имя],[Отчество]" Помогите пожалуйста...
6 ответов

cyborgg4655

echo preg_replace('~^([-a-zа-яё ]+?)(?=,),\\s*?([-a-zа-яё ]+?)(?=,),\\s*?([-a-zа-яё ]+?)$~iu', '[$1],[$2],[$3]', 'Фамилия,Имя,Отчество');
если кодировка не utf-8, то уберите u после i


cyborgg4655

echo preg_replace('~^([-a-zа-яё ]+?)(?=,),\\s*?([-a-zа-яё ]+?)(?=,),\\s*?([-a-zа-яё ]+?)$~iu', '[$1],[$2],[$3]', 'Фамилия,Имя,Отчество');
если кодировка не utf-8, то уберите u после i
Хорошо, а если через запятую будет не фиксированное-кол надписей, а будет динамически изменятся?


cyborgg4655

не фиксированное-кол надписей
это какое, например? И почему об этом нельзя было сразу написать?


cyborgg4655

это какое, например? И почему об этом нельзя было сразу написать?
Забыл это учесть сразу, извиняй(( Просто мне только ФИО нужно будет использовать, будут и другие строки, но с таким же принципом, все через запятую.


cyborgg4655

Еще раз.
это какое, например?
"43975398465" - строка "$&#(@($*&$(@)@#" - строка "FDKHIY%*(@#$*YRU(*F@H$TYF*&$* (@#8yr84f 894uyrf8n 2yb r283" - тоже строка
'~^([^,]+?),\\s*?([^,]+?),\\s*?(.+?)\\s*?$~iu'


cyborgg4655

Может код не читабельный,но зато без использования доп.переменной
  $str = "Фамилия,Имя,Отчество";
  echo '['.implode("],[",explode(',',$str)).']';