Есть строки
Пример
910786584_w269_h230_40_2.jpg
Мне нужно заменить _w269_h230_ на _w2000_h2000_
Проблема в том что на каждом изображении разные размеры _w269_h230_ но всегда одинаковы символы. Как правильно зацепится и заменить цифры
Можно поколдовать с preg_replace
или просто использовать explode-implode
, как пример։
<?php
$string = '910786584_w269_h230_40_2.jpg';
$list = explode( '_', $string );
$list[ 1 ] = 'w2000';
$list[ 2 ] = 'h2000';
$result = implode( '_', $list );
print_r( $result );
?>
Ещё вариант в коллекцию ответов. Можно оптимизировать шаблон, и использовать подмаски:
$str = '910786584_w269_h230_40_2.jpg';
$patt = '~_([wh])\d+~';
$repl = '_${1}2000';
echo preg_replace($patt, $repl, $str);
Если нужно подставлять значения по отдельности, то можно разделить один шаблон на два (каждый - под конкретное совпадение):
$str = '910786584_w269_h230_40_2.jpg';
$patt = ['~_w\d+~', '~_h\d+~'];
$repl = ['_w2000', '_h2000'];
echo preg_replace($patt, $repl, $str);
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Встала проблема выполнения некоторого кода, перед запуском всех юнит тестов
Хочу сделать после поста другие записи из этой же категорииНо есть еще один нюанс, создал произвольное поле и там указываю ID, которые хочу...