Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php替换字符串不在已定义字符之前_Php_Regex_Preg Replace - Fatal编程技术网

php替换字符串不在已定义字符之前

php替换字符串不在已定义字符之前,php,regex,preg-replace,Php,Regex,Preg Replace,我需要替换子字符串,但不只是“=”在它们的右边。 例如,将“=”之前的“foo”net替换为“bar”(忽略空白) 你知道有什么简单的预防措施吗? 我试过类似的东西 /(foo)([\S^=]*)/x' etc 但是它匹配所有的“foo”=>bar=bar这也可以使用分解来完成: $replacement = "bar"; $parts = explode('=', $string); $parts[0] = $eplacement; $string = implode('=', $parts

我需要替换子字符串,但不只是“=”在它们的右边。 例如,将“=”之前的“foo”net替换为“bar”(忽略空白)

你知道有什么简单的预防措施吗? 我试过类似的东西

/(foo)([\S^=]*)/x' etc

但是它匹配所有的“foo”=>bar=bar

这也可以使用分解来完成:

$replacement = "bar";
$parts = explode('=', $string);
$parts[0] = $eplacement;
$string = implode('=', $parts);
尝试此操作。替换为
$1bar
。请参阅演示

?如果只有两个成员用
=
分隔,则可以使用
分解
$replacement = "bar";
$parts = explode('=', $string);
$parts[0] = $eplacement;
$string = implode('=', $parts);
\s*(=?)\s*foo(?!\s*=)