【发布时间】:2019-06-06 10:33:33
【问题描述】:
我有这样的代码来查找模式,例如##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);
};
问题是当我尝试替换所有这些时,如果字符串不包含其中一项搜索,则会出现错误。还有其他方法可以替换字符串上的模式吗?
【问题讨论】:
标签: php string replace str-replace preg-match-all