Intereting Posts
Система входа в PHP с использованием Cookies и соленых хешей Код для загрузки видео с Android на PHP преобразование числовой базы 10 в основание 62 (a-zA-Z0-9) Require_once для переменной Подготовленные заявления MySQL Android не удается правильно подключиться к базе данных MySQL Мне нужен совет, разрабатывающий чувствительную систему передачи / хранения / шифрования данных Webservice / API, чтобы захватить скриншот другого сайта? (известные решения слишком медленные) Правило htaccess для анализа php в html-файлах, не работающих Проблема с дублированием сеанса Codeigniter Вычисление возраста с даты рождения в PHP Как решить Missing аргумент 1 для App \ Repositories \ FavoriteRepository :: delete ()? (Laravel 5.3) У вас есть ошибка в синтаксисе SQL; проверьте руководство, соответствующее версии вашего сервера MySQL, для правильного синтаксиса для использования рядом с '' '') 'в строке 2 Как я могу присоединиться к документам Excel с помощью PHPExcel? Вызов случайных сеансов Codeigniter (уже опробованный переопределить класс сеанса И повышение session_time_to_update

php регулярное выражение для преобразования строки, за которой следует число, в несколько строк, за которыми следует одна из цифр

как заменить

Apple 123456 

в

 Apple 1|Apple 2|Apple 3|Apple 4|Apple 5|Apple 6 

по php pcre?

Solutions Collecting From Web of "php регулярное выражение для преобразования строки, за которой следует число, в несколько строк, за которыми следует одна из цифр"

Модифицированная версия регулярного выражения Богдана с использованием негативного прогноза.

Замените номер на "number|Apple " если он не является последним символом в строке.

 <? $string = "Apple 123456"; echo preg_replace('/([0-9])(?!$)/', '$1|Apple ', $string); ?> 

Ouput: Apple 1|Apple 2|Apple 3|Apple 4|Apple 5|Apple 6

С этим вы частично получаете то, что хотите:

 <?php echo preg_replace('/([0-9])/', 'Apple $1|', 'Apple 123456'); 

Это приводит к: Apple Apple 1|Apple 2|Apple 3|Apple 4|Apple 5|Apple 6|

Для удаления первого «Apple» вы можете str_replace() или explode() исходную строку, что приведет к чему-то вроде

 <?php $string = 'Apple 123456'; $string = str_replace("Apple", "", $string); echo preg_replace('/([0-9])/', 'Apple $1|', $string); 

Результат: Apple 1|Apple 2|Apple 3|Apple 4|Apple 5|Apple 6| , Вы можете удалить последний канал, используя substr($result, 0, -1) .

Окончательный код будет выглядеть так:

 <?php $string = 'Apple 123456'; $string = str_replace("Apple", "", $string); $regex = preg_replace('/([0-9])/', 'Apple $1|', $string); echo substr($regex, 0, -1);