PHPを使用して文字列から2番目の一致文字または文字列を置き換える方法は?
入力 : example.com?q=123123?name=shreyas&city=surat#anchor1
出力: example.com?q=123123?name=shreyas&city=surat#anchor1
$first = strpos($url , '?'); // find first occurance
$str = substr($url , 0 ,$first+1); remove first part
preg_replace('/\sis\s/i', 'XXX' , $str);
これを試して:
<?php
$result = preg_replace('/\bis\b/i' , 'xxx', $str);
?>
2 番目の質問については、次のとおりです。
<?php
$result = preg_replace('/(?<!com)\?/' , '&', $url);
?>
注: 結果をユーザーに表示する場合は、& の代わりに & を使用します。
"is" が別の単語内で一致するのを避けるために、単語境界を使用できます\b
。
$result = preg_replace('/\bis\b/i' , 'xxx', $str);