2014-01-10 9 views
-7

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

mywebsite.com/images/products/12345678_pit.jpg<br> 
mywebsite.com/images/products/12345678_piat_a2.jpg 

по ссылкам:

mywebsite.com/images/zoomimage/12/12345678_var.jpg<br> 
mywebsite.com/images/zoomimage/12/12345678_var_a2.jpg 

мы видим, что

  • products = zoomimage
  • pit|piat = var
  • 12345678 = 12/12345678 (то есть первые 2 цифры/начальный номер)

Благодаря

+0

Какой язык вы используете? – Toto

+4

Какой у вас бюджет? Если вы хотите, чтобы мы выполнили всю работу, вы не ожидаете, что она будет бесплатной, не так ли? – h2ooooooo

+0

Вопросы, требующие кода, должны продемонстрировать минимальные усилия при решении актуальной проблемы, включая попытку кода и возникшие проблемы. – HamZa

ответ

1

Давать вам пример в PHP, но регулярное выражение может быть повторно использованы на другом языке:

$urls = array(
    'mywebsite.com/images/products/12345678_pit.jpg', 
    'mywebsite.com/images/products/23456789_foo.jpg', 
    'mywebsite.com/images/products/34567890_bar.jpg', 
    'mywebsite.com/images/products/12345678_piat_a2.jpg', 
    'mywebsite.com/images/products/45678901_baz_a2.jpg', 
    'mywebsite.com/images/products/56789012_qux_a2.jpg' 
); 
foreach($urls as $url) { 
    echo preg_replace(
     '/products\/(\d{2})(\d*)_[a-z-]+(.*)\.jpg/i', 
     'zoomimage/$1/$1$2_var$3.jpg', $url) .'<br>'; 
} 
// mywebsite.com/images/zoomimage/12/12345678_var.jpg 
// mywebsite.com/images/zoomimage/23/23456789_var.jpg 
// mywebsite.com/images/zoomimage/34/34567890_var.jpg 
// mywebsite.com/images/zoomimage/12/12345678_var_a2.jpg 
// mywebsite.com/images/zoomimage/45/45678901_var_a2.jpg 
// mywebsite.com/images/zoomimage/56/56789012_var_a2.jpg 
+0

Благодаря zessx ваше решение работает отлично. Хорошего дня! – Marcel

Смежные вопросы