У меня есть такой код, чтобы найти шаблон, например ## random_number_10 ## Мне нужно взять число 10, чтобы использовать его в качестве параметра в функции, и эта функция перейдет в str_replace, чтобы заменить шаблон
строка:
ini subjek lur ##random_mix_5## ##random_string_up_10## ##random_number_15##
вывод:
ini subjek lur o1ovp HDBVPVJTYY 741007211142434
.
function replace ($sumber) {
preg_match_all("/##random_number_(\d+)##/", $sumber, $match_number);
preg_match_all("/##random_string_up_(\d+)##/", $sumber, $match_string_up);
preg_match_all("/##random_string_low_(\d+)##/", $sumber, $match_string_low);
preg_match_all("/##random_string_uplow_(\d+)##/", $sumber, $match_string_uplow);
preg_match_all("/##random_mix_(\d+)##/", $sumber, $match_mix);
$dari = [
$match_number[0][0],
$match_string_up[0][0],
$match_string_low[0][0],
$match_string_uplow[0][0],
$match_mix[0][0]
];
$ke = [
random_number($match_number[1][0]),
random_string_up($match_string_up[1][0]),
random_string_low($match_string_low[1][0]),
random_string_uplow($match_string_uplow[1][0]),
random_mix($match_mix[1][0])
];
return str_replace($dari, $ke, $sumber);
};
проблема в том, что, когда я пытаюсь заменить их все, появляется ошибка, если строка не содержит один из поисков. Есть ли другой способ заменить шаблон в строке?