1

我需要使用 PHP 检查特定文本组件的字符串,如果该值存在,则将其替换为新值。例如,我可能有一个这样的字符串:

?customerID=12345&recid=65&skip=20&type=job

我需要找到“&skip=20”(它不会总是 = 20,它可以是 20、80、100 等任何数字)子字符串,并用变量($新值)。因此,如果该字符串存在并且 $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——但我在这方面花了太长时间,而且似乎没有更接近。如果有人可以告诉我如何使用这些或其他函数来查找子字符串并替换将不胜感激的值。

4

1 回答 1

0

尝试preg_replace_callback

<?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;

}
于 2012-05-05T06:17:30.643 回答