ホームページ  >  記事  >  バックエンド開発  >  str_replace が間違ったデータを返す理由

str_replace が間違ったデータを返す理由

WBOY
WBOYオリジナル
2016-08-04 09:19:151494ブラウズ

例: 英語のカンマ、スペース文字、または中国語のカンマを置き換えます
$str = '訂正します、お問い合わせくださいグッズジョブ、グッズジョブ';
$reg = array(',',' ',',' );
$strs = ' username like %'.str_replace($reg,'%, or username like %',$str).'%';
返されるデータは次のとおりです: %correct%,% のようなユーザー名、または %or% のようなユーザー名、またはユーザー名%username% のようなユーザー名、%like% のようなユーザー名、% Contact Us% のようなユーザー名、%goodsjob% のようなユーザー名、または %goodsjob% のようなユーザー名、なぜですか?

正しい結果は次のようになります: usernme (%correct% など)、ユーザー名 (%contact us% など)、またはユーザー名 (%goodsjob% など)

返信内容:

例: 英語のカンマ、スペース文字、または中国語のカンマを置き換えます
$str = '訂正します、お問い合わせくださいグッズジョブ、グッズジョブ';
$reg = array(',',' ',',' );
$strs = ' username like %'.str_replace($reg,'%, or username like %',$str).'%';
返されるデータは次のとおりです: %correct%,% のようなユーザー名、または %or% のようなユーザー名、またはユーザー名%username% のようなユーザー名、%like% のようなユーザー名、% Contact Us% のようなユーザー名、%goodsjob% のようなユーザー名、または %goodsjob% のようなユーザー名、なぜですか?

正しい結果は次のようになります: usernme (%correct% など)、ユーザー名 (%contact us% など)、またはユーザー名 (%goodsjob% など)

最初にスペースを他の文字に置き換えます。$str =》%、または%などのユーザー名も置換ルールを満たすため、結果に影響します。 リーリー

str_replace()関数は左から右に置換するため、複数の置換を行う場合、以前に挿入した値を置換する場合があります。 注意:

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。