Con substr()
è possibile omettere il terzo parametro per ottenere tutto il resto della stringa:Ottenere resto della stringa alla fine con mb_substr() e ancora impostare la codifica
substr('abcdefg', 2) // returns "cdefg"
Non si può fare lo stesso con mb_substr()
:
mb_substr('abcdefg', 2, null, 'UTF-8'); // returns empty string
ho trovato solo soluzioni strane e brutte.
impostazione di un numero molto alto come lunghezza:
$a = mb_substr('abcdefg', 2, 9999999999, 'UTF-8');
Calcolo del numero:
$a = mb_substr('abcdefg', 2, mb_strlen('abcdefg', 'UTF-8') - 2, 'UTF-8');
omissione del parametro charset utilizzando
mb_internal_encoding()
:$temp = mb_internal_encoding(); // prevent action at a distance
mb_internal_encoding('UTF-8');
$a = mb_substr('abcdefg', 2);
mb_internal_encoding($temp);
non c'è una vera soluzione?
Non capisco perché 'mb_substr ('abcdefg', 2, null, 'UTF-8')' non realizza ciò che si desidera in scenari in cui è necessario fornire l'argomento opzionale finale (codifica). – ficuscr
@ficuscr, perché non viene prodotto nulla: http://sandbox.onlinephpfunctions.com/code/407e2a6c7d00f7002054a069fef3ca510061c747 –
http://codepad.viper-7.com/KZ33rR – ficuscr