Php 将符号(&;)替换为查询字符串中的%26
我得到的查询字符串是Php 将符号(&;)替换为查询字符串中的%26,php,regex,url,Php,Regex,Url,我得到的查询字符串是q=pen&fq[category]=Pens&Refills&fq[category\u id]=34,如何将和替换为%26仅在此中,而不是全部和。请有人帮助我使用正则表达式模式完成此操作。如下所示: $regex = "~[ ]\K&~"; $replaced = preg_replace($regex,"%26",$string); 在中,请参见底部的更换 解释 []匹配一个空格。你不需要括号,但这样读起来更容易 \K告诉引擎放弃到目前为止与整体匹配不匹配的
q=pen&fq[category]=Pens&Refills&fq[category\u id]=34
,如何将和替换为%26
仅在此中,而不是全部和。请有人帮助我使用正则表达式模式完成此操作。如下所示:
$regex = "~[ ]\K&~";
$replaced = preg_replace($regex,"%26",$string);
在中,请参见底部的更换
解释
[]
匹配一个空格。你不需要括号,但这样读起来更容易
\K
告诉引擎放弃到目前为止与整体匹配不匹配的内容
&
匹配我们的字符,我们知道它是正确的,因为它前面有一个空格李>
- 我们将其替换为
%26
不支持\K
我们本可以用一个了望台:
(?<=[ ])&
像这样:
$regex = "~[ ]\K&~";
$replaced = preg_replace($regex,"%26",$string);
在中,请参见底部的更换
解释
[]
匹配一个空格。你不需要括号,但这样读起来更容易
\K
告诉引擎放弃到目前为止与整体匹配不匹配的内容
&
匹配我们的字符,我们知道它是正确的,因为它前面有一个空格李>
- 我们将其替换为
%26
不支持\K
我们本可以用一个了望台:
(?<=[ ])&
如果出于某种原因确实需要替换该字符,则无需使用正则表达式即可完成此操作
$string = str_replace(' & ', ' %26 ', $string);
如果出于某种原因确实需要替换该字符,则无需使用正则表达式即可完成此操作
$string = str_replace(' & ', ' %26 ', $string);
你可以用积极的回顾
$regex = "~(?<=Pens ).~";
$replaced = preg_replace($regex,"%26",$string);
你可以用积极的回顾
$regex = "~(?<=Pens ).~";
$replaced = preg_replace($regex,"%26",$string);
“我正在获取查询字符串”是什么意思?如何以及为什么一开始就搞砸了?使用$\u SERVER['QUERY\u STRING']
我得到了查询字符串我的意思是为什么查询字符串一开始就搞砸了?你说的“我得到了查询字符串”是什么意思?如何以及为什么一开始就搞砸了?使用$\u SERVER['QUERY\u STRING']
我得到了查询字符串我的意思是为什么查询字符串一开始就搞砸了?仅供参考,添加了其他语言的演示、解释和选项。:)供参考添加了其他语言的演示、解释和选项。:)不是所有的&
,只有当类别有&
时才有效。谢谢对于简单的事情,我把它复杂化了:-(不用担心,很高兴我能帮上忙。不是所有的&
,只有在类别有&
的情况下才行。谢谢。对于简单的事情,我把它复杂化了:-(不用担心,很高兴我能帮上忙。谢谢。笔不是静态的,它是动态的类别名称。只需要更改类别有&
@Raj)ツ 您似乎想替换前后都有空格的&
符号。我更新了代码。谢谢。Pens不是静态的,它是动态类别名称。只需更改类别的&
@Rajツ 您似乎想替换前后都有空格的&
符号。我更新了代码。