Php 精确字符串的正则表达式匹配
我有一根绳子Php 精确字符串的正则表达式匹配,php,regex,Php,Regex,我有一根绳子 %24p1_x=-5&%24p1_y=-285.06492367689526&%24p1_hei=0.617986639129584&%24 并希望将p1_x值更改为动态 15.23动态计算的值 需要输出为: %24p1_x=-15.23&%24p1_y=-85.06492367689526&%24p1_hei=0.617986639129584&%24" 我尝试使用explode和preg_match来匹配字符串。 有谁能帮助实
%24p1_x=-5&%24p1_y=-285.06492367689526&%24p1_hei=0.617986639129584&%24
并希望将p1_x值更改为动态
15.23动态计算的值
需要输出为:
%24p1_x=-15.23&%24p1_y=-85.06492367689526&%24p1_hei=0.617986639129584&%24"
我尝试使用explode和preg_match来匹配字符串。
有谁能帮助实现这一目标
<?php
$a = '%24p1_x=-5&%24p1_y=-285.06492367689526&%24p1_hei=0.617986639129584&%24';
echo $a.'<br/><br/>';
$b = explode("&", $a);
foreach($b as $key => $val){
if(preg_match('/p1_x/', $val)){
echo 'Matched';
}
}
?>
听起来你只是想要一个简单的preg_替换: 表达式/p1_x.*?&/表示搜索从p1_x到&的最小字符数 替换中的\1等于搜索表达式括号中的第一部分。仅将p1\u x值替换为$n,直至下一个值&
请发布您的准确尝试,目前这里没有足够的信息帮助您。谢谢您的回答。我会检查的
$new_val = -15.23;
print preg_replace('/(p1_x).*?&/', '\1='.$new_val.'&', $a);
preg_replace('/p1_x=[^&]*/', 'p1_x=' . $n, $a)