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

如何使用PHP替换字符串中的第二个匹配字符或字符串? 如何使用PHP替换字符串中的第二个匹配字符或字符串?,php,regex,Php,Regex,输入:example.com?q=123123?name=shryas&city=surat#anchor1 输出:example.com?q=123123?name=shryas&city=surat#anchor1为了避免在另一个单词中匹配“is”,您可以使用单词边界\b: $result = preg_replace('/\bis\b/i' , 'xxx', $str); 试试这个: <?php $result = preg_replace('/\bis\b/i' , 'xxx'

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

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

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

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

<?php

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

?>

关于你的第二个问题:

<?php

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

?>


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

不执行stru替换($find,$replace,$string)不工作?第二个匹配字符???@shryaspatel:你首先是如何获得该字符串的?这是我的字符串,输出应该类似于@shryaspatel:在这种情况下,你必须编辑你的问题以清楚地解释你想要做什么,这是我的字符串,输出应该与我需要的完全相同。这是我的字符串,输出应该与
$result=preg\u replace('/(?感谢这对我有用!!:)
<?php

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

?>