$string = 'http://site.com/category/1/news/2134/'; // '1' is dynamic
Как я могу изменить 1 на любой номер, который я хочу?
1
Невозможно вызвать части строки, это просто текстовая переменная.
Это можно сделать с помощью некоторого настоящего регулярного выражения.
Без дополнительной информации моя лучшая догадка в вашей проблеме:
<?php $string = 'http://site.com/category/' . $yourNumberHere . '/news/2134/'; ?>
$string = preg_replace('~(?<=category/)[0-9]+(?=/news)~', '56', $string);
Это заменяет число на 56.
В этом подходе используется регулярное выражение с утверждениями .
$array = explode('/',$string); $array[4] = '666'; $string = implode('/',$array);
[править] @ Люди снижают голос, в чем проблема с этим подходом?