[keyword=145]
где может быть значением вместо 145 любое число, извлечь это число в переменную, а после заменить это выражение на другую переменную.
[keyword=145]
<?php
$t = '[keyword=145]';
$n = 10;
$match = null;
$t = preg_replace_callback(
'/\d+/',
function($item) use ($n, &$match){
$match = isset($item[0]) ? $item[0] : null;
return $n;
},
$t
);
echo $t . '<br>';
echo $match;
<?php
$str = '[keyword=145]';
$res = preg_replace('/([\d]+)/', '100', $str);
echo $res;
?>