10

これは明らかなものだと確信していますが、私は $str として保存され、strtolower を使用してエコーアウトされる文字列 'GB' を持っています...

$str = bp_member_profile_data('field=Country');
echo strtolower($str);

「gb」(小文字)が表示されることを期待していますが、出力は「GB」(大文字)のままです

私は何が間違っているのでしょうか?

更新 問題は bp_member_profile_data にあったことが判明しました。これは自動的にエコーする BuddyPress PHP 関数であるため、strtolower を無視していました。

4

2 に答える 2

12

使用してみてください:

mb_strtolower($str);

これはうまくいくかもしれません。

PHPマニュアルから:

入力文字列がサーバー ロケールと異なる言語である場合は、mb_strtolower() 関数を使用する必要があります。

関数のプロトタイプは次のとおりです。

string mb_strtolower ( string $str [, string $encoding = mb_internal_encoding() ] )

適切なエンコーディングを追加してみてください。

encoding パラメータは文字エンコーディングです。省略した場合は、内部の文字エンコーディング値が使用されます。

于 2013-03-30T23:11:45.087 に答える
4

バディプレス機能をチェックしてくださいbp_member_profile_data()、それは反響します:

function bp_member_profile_data( $args = '' ) {
    echo bp_get_member_profile_data( $args );
}

あなたは使いたいかもしれませんbp_get_member_profile_data()

于 2013-03-30T23:36:18.327 に答える