Так добавляет в текст символ вопроса в черном вертикальном ромбике :
$s = 'Просто текст';
$str[4] = "\t";
Кодировка Utf-8
Делается это так. Вначале с помощью mb_str_split() преобразуете строку в массив. Делаете его копию. После этого с каждым массивом делаете срез по нужной позиции с помощью array_slice() (один до, другой после). В конце объединяете массивы, а между ними свой нужный фрагмент текста. В конце результат преобразовываете в строку с помощью implode().
Проблема, как раньше заметили из-за юникода, поэтому приходится идти на ухищрения.
С мультибайтными кодировками нельзя работать по прямым индексам - Вы адресуете не символы, а байты.
function replaceStrAt($str, $substr, $from, $to = null){
is_null($to) and $to = $from;
return mb_substr($str, 0, $from) . $substr . mb_substr($str, $to + 1);
}
function insertSubstrInto($str, $substr, $index){
return mb_substr($str, 0, $index) . $substr . mb_substr($str, $index);
}
$s = 'И просто текст';
echo replaceStrAt($s, "\t", 4), "\n"; // И пр сто текст
echo insertSubstrInto($s, "\t", 4), "\n"; // И пр осто текст
Демонстрация
Виртуальный выделенный сервер (VDS) становится отличным выбором
Есть функция которая суммирует время, ответ выдает в формате "H:i:s", как сделать чтоб часы могли переваливать за 24 ?
Прошу помощи, делаю импорт из csv в mysqlНаписал импорт, но столкнулся с тем что будут обновлятся 3 таблицы постоянно и не знаю как правильно написать...
Собрал слайдер, в котором есть условие проверки заголовка User-Agent и в зависимости мобильный это или нет отдавать нужную картинкуПочему на некоторых...
Хотя сайт работает нормально, в логах сервера регулярно появляется ошибка: