Вставить символ после второй буквы в строке
возникла необходимость вставить ! после второй буквы в строке.
пробовал такой вариант wordwrap($string, 4, "!", true); но проблема в том, что если текст русскоязычный, то появляются какие то знаки вместо букв типа таких �.
Ответы (4 шт):
Автор решения: teran
→ Ссылка
можно регулярки взять
preg_replace("/^(..)/u", '$1!', $string)
^начало строки.любой символ, соответственно 2 точки это два символа(..)оборачивая в скобки выделяем "группу захвата"$1в замене обращаемся к первой захваченной группе. в$0содержится все соответствие
Автор решения: Roman Grinyov
→ Ссылка
Самый простой способ:
$str = 'hello';
$str[2] = 'L';
echo $str . "\n"; // heLlo
Автор решения: u_mulder
→ Ссылка
Воспользовавшись строковыми функциями для многобайтных кодировок можно сделать так:
$str = 'привет';
$newStr = mb_substr($str, 0, 2) . '!' . mb_substr($str, 2);
echo $newStr . "\n"; // пр!ивет
Автор решения: Selik
→ Ссылка
Я не верно выразился, необходимо вставить после каждой второй буквы. не считая пробелы и знаки препинания... пока получилось только так. `
$text = "Однажды, в студеную зимнюю пору,
Я из лесу вышел; был сильный мороз.";
$you_char = "1";
$text=preg_replace('/((?:.|\n){2})(?!$)/u','${1}'.$you_char,$text);
echo $text;`
но он считает все символы.