Mit substr()
Sie den dritten Parameter weglassen können den ganzen Rest der Zeichenfolge zu erhalten:Erhalten Rest des Strings bis zum Ende mit mb_substr() und noch gesetzt Codierung
substr('abcdefg', 2) // returns "cdefg"
Sie können nicht das gleiche tun mit mb_substr()
:
mb_substr('abcdefg', 2, null, 'UTF-8'); // returns empty string
fand ich nur komisch und hässlich Lösungen.
Einstellung eine sehr hohe Zahl als Länge:
$a = mb_substr('abcdefg', 2, 9999999999, 'UTF-8');
Berechnung der Anzahl:
$a = mb_substr('abcdefg', 2, mb_strlen('abcdefg', 'UTF-8') - 2, 'UTF-8');
der charset Parameter Weglassen von
mb_internal_encoding()
mit:$temp = mb_internal_encoding(); // prevent action at a distance
mb_internal_encoding('UTF-8');
$a = mb_substr('abcdefg', 2);
mb_internal_encoding($temp);
Gibt es keine wirkliche Lösung?
Nicht zu verstehen, warum 'mb_substr ('abcdefg', 2, null, 'UTF-8')' nicht das erreicht, was Sie in Szenarien benötigen, in denen Sie das letzte (kodierende) optionale Argument angeben müssen. – ficuscr
@ficuscr, weil das nichts ausgibt: http://sandbox.onlinephpfufts.com/code/407e2a6c7d00f7002054a069fef3ca510061c747 –
http://codepad.viper-7.com/KZ33rR – ficuscr