我需要使用PHP检查特定文本组件的字符串,并将值替换为新值。例如,我可能有这样的字符串:
?customerID=12345&recid=65&skip=20&type=job
我需要找到“& skip = 20”(它不会总是= 20,它可能是任何数字,如20,80,100等)substring并用新值替换“20”值来自变量($ newValue)。因此,如果该字符串存在且$ newValue = 40,则新字符串将为:
?customerID=12345&recid=65&skip=40&type=job
如果字符串是:
?customerID=12345&recid=65&skip=160&type=job
新字符串将是($ newValue = 180):
?customerID=12345&recid=65&skip=180&type=job
我很确定我应该使用这些函数 - strpos,preg_match,preg_replace - 但是我已经花了很长时间在这上面并且似乎没有接近。如果有人能告诉我如何使用这些或其他函数来查找子字符串并替换值得赞赏的值。
答案 0 :(得分:0)
<?php
$str = "?customerID=12345&recid=65&skip=20&type=job";
$newStr = preg_replace_callback("/skip=([0-9]+)/i", "doIt", $str)
function doIt($match){
return $match[1] + 20;
}