2013-03-30 36 views
8

Ich bin sicher, das ist etwas offensichtlich fehlt mir, aber ich habe eine Zeichenfolge ‚GB‘, die als $ str gespeichert und dann strtolower wiederholte Verwendung von ...Einfache strtolower funktioniert nicht

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

Ich bin gb erwarten (Kleinbuchstaben), aber die Ausgabe ist immer noch "GB" (Großbuchstaben)

Was könnte ich falsch machen?

UPDATE Stellt sich heraus, dass das Problem mit bp_member_profile_data gelogen ist, das ist eine BuddyPress PHP-Funktion, die automatisch Echos, so dass es die Strtolower ignorierte - Danke an alle für die Hilfe, um es einzugrenzen!

+4

Bitte [hexdump] verwenden möchten (http://stackoverflow.com/questions/1057572/how -can-i-get-a-hex-dump-of-a-string-in-php) die Ergebniszeichenfolge. – mario

+1

Vielleicht sollten Sie 'mb_strtolower ($ str)' verwenden, wenn die Eingabezeichenfolge in einer anderen Sprache als dem Servergebietsschema ist oder wenn Ihre Zeichen etwas exotisch sind, wie 'GB' (Ich habe sie mit Widesprache geschrieben) – Jean

+0

Ich habe versucht, die Zeichenfolge mit echo bin2hex ($ str) hexdump; aber ich bekomme keine Ausgabe von diesem – fightstarr20

Antwort

4

Check out Buddy Presse bp_member_profile_data() Funktion, so schallt es:

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

Sie könnten bp_get_member_profile_data()

+0

Das ist genau das, was ich gerade nach ein wenig Forschung gefunden habe! Danke dafür und für alle anderen – fightstarr20

4

Versuchen zu verwenden:

mb_strtolower($str); 

Diese arbeiten kann.

Von PHP Manual:

Wenn die Eingabezeichenfolge in verschiedenen Sprach locale, dass Server, dann sollten Sie mb_strtolower() Funktion verwenden.

Der Funktionsprototyp ist:

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

Sie könnten versuchen, die entsprechende Codierung hinzugefügt wird.

Der Codierungsparameter ist die Zeichencodierung. Wenn sie weggelassen wird, wird der interne Zeichencodierungswert verwendet.

+0

Ich habe das auch ohne Glück – fightstarr20

+2

Wierd versucht. Wie Mario vorgeschlagen, bitte hexdump die Ergebniszeichenfolge? Vielleicht sollten Sie die Zeichencodierung angeben? – Jean

+1

Haben Sie es mit UTF-8-Parameter 'mb_strtolower ($ str, 'UTF-8') versucht;'? –

Verwandte Themen