-4

如何使用 PHP 从字符串中替换第二个匹配字符或字符串?

输入:example.com?q=123123?name=shreyas&city=surat#anchor1

输出:example.com?q=123123?name=shreyas&city=surat#anchor1

4

3 回答 3

0
 $first = strpos($url , '?'); // find first occurance
 $str = substr($url , 0 ,$first+1); remove first part 
 preg_replace('/\sis\s/i', 'XXX' , $str);
于 2013-11-10T13:14:27.560 回答
-1

为避免在另一个单词中匹配“is”,您可以使用单词边界\b

$result = preg_replace('/\bis\b/i' , 'xxx', $str);
于 2013-11-10T13:16:19.320 回答
-1

尝试这个:

<?php

$result = preg_replace('/\bis\b/i' , 'xxx', $str);

?>

演示!

对于你的第二个问题:

<?php

$result = preg_replace('/(?<!com)\?/' , '&', $url); 

?>

注意:如果您想向用户显示结果,请使用 & 而不是 &。

于 2013-11-10T13:24:18.113 回答