urlencode()中php的正则表达式替换


Regex replacement of php in urlencode()

欢迎正则表达式!

在PHP

:从这个:

urlencode($row_rs_details['Title'],ENT_QUOTES, 'utf-8');

和其他几百个变量名不同的地方,我需要删除,ENT_QUOTES, 'utf-8'然后输入这个:

 urlencode($row_rs_details['Title']);

同时保留许多不同的$row_rs_name完整。

衷心感谢你为我节省了至少六个小时。

您可以使用以下正则表达式:

(urlencode'('$[^][]*'['Title'']),ENT_QUOTES,'s*'utf-8'');

$1);代替

参见regex demo

基本匹配并捕获从urlencode['Title']的第一部分,其余部分匹配,但随后在替换操作中删除。捕获的文本通过$1反向引用和字面量);恢复到结果中。

下面是一个PHP代码演示:
$re = '/(urlencode'('$[^][]*'[''Title''']),ENT_QUOTES,'s*''utf-8''');/'; 
$str = "urlencode('$row_rs_details['Title'],ENT_QUOTES, 'utf-8');"; 
$subst = "$1);"; 
echo $result = preg_replace($re, $subst, $str, 1);

Result: urlencode($row_rs_details['Title']);

奥卡姆剃刀。你不需要正则表达式。只需执行一个简单的查找并将搜索字符串urlencode($row_rs_details['Title'],ENT_QUOTES, 'utf-8');替换为urlencode($row_rs_details['Title']);作为目标字符串。