用正则表达式替换百分号后的字符

时间:2014-12-08 13:56:18

标签: php regex

我想使用RegEx替换字符串中百分号后面的所有文本。 假设我有以下字符串:

/path/to/webpage/%foo

我想使用RegEx用%foo替换$foo(这是变量,并不一定包含foo)。

到目前为止,我已经提出了以下表达式,除了这似乎不起作用。

(%([a-z]+))\w

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

尝试更简单的模式,此处不需要(子模式匹配,只需%.*$'匹配从'%'开始到行尾的所有字符':

<?php
$name = "/path/to/webpage/%foo";
$pattern = '/%.*$/';
$bar = 'bar';
$new_name =  preg_replace($pattern, $bar, $name);
echo "$new_name\n";

结果:

/path/to/webpage/bar