Работа с текстом: удаление и вставка

252
09 августа 2017, 20:55

Предположим есть строка:

$str = '0123456789';

Что нужно: удалить символы с позицией 2-4 (2,3,4 - это позиция а не часть строки) и вместо них вставить строку: '!!'.

Результирующая строка:

$str = '01!!56789';

Сразу скажу что хотелось бы услышать оптимальный вариант, существует ли такой или нет (может есть уже функция реализующая подобное).

Накостылять я и сам могу :) Но в любом случае, любое адекватное предложение плюсану.

Answer 1

Шаблон: '~(?<=\w{2})\w{3}(\w*)~', где (?<=\w{2}) - поиск позиции (слева от нужной позиции 2 символа); \w{3} - 3 заменяемых символа; (\w*) - оставшаяся часть строки.

$str = 'qwertyuiop';
$pattern = '~(?<=\w{2})\w{3}(\w*)~';
$replace = '!!$1';
echo preg_replace($pattern, $replace, $str);
// qw!!yuiop
Answer 2

Вот походу идеальная функция, которая мне нужна.

http://php.net/manual/ru/function.substr-replace.php

READ ALSO
Выгрузка файла в браузер с удаленного сервера по ssh

Выгрузка файла в браузер с удаленного сервера по ssh

Доброго времени сутокСтоит задача реализовать скачивание файлов на сайте с другого сервера

246
Ошибка 2003: Can&#39;t connect to MySQL server

Ошибка 2003: Can't connect to MySQL server

Помогите! Я пытался подключиться к базе данных с помощью php кода

254
Очистка дублей и соединение

Очистка дублей и соединение

Добрый день или вечер ) У меня такая ситуация - скрин - http://joxiru/4Ak3jdEcynE9BA Вообщем история

247
функция comment_text wordpress

функция comment_text wordpress

посадил на wordpress html шаблон, но возникла такая проблема: в commentsphp вызываю функцию в браузере она генерится уже в теге <p></p> мне нужно...

311