2011-02-06 5 views
223

Come posso rimuovere 3 caratteri alla fine di una stringa in php? "abcabcabc" diventerebbe "abcabc"!Come posso rimuovere 3 caratteri alla fine di una stringa in php?

+1

si potrebbe trovare [ 's ($ str) -> cutEnd (3)'] (https: //github.com/delight-im/PHP-Str/blob/ea3e40132e9d4ce27da337dae6286f2478b15f56/src/Str.php#L341) utile, come si trova in [questa libreria autonoma] (https://github.com/delight-im/PHP -Str). Questo è Unicode o multibyte sicuro. – caw

risposta

490

Basta fare:

echo substr($string, 0, -3); 

Non è necessario utilizzare una chiamata strlen, dal momento che, come ha osservato in the substr docs:

Se viene data la lunghezza ed è negativo, quindi molti caratteri verranno omessi dalla fine della stringa

+22

Ooo si - la documentazione di lettura è molto vantaggiosa :) per PHP www.php.net è quella – bensiu

+2

La documentazione di lettura è in genere utile, ma PHP.net è davvero pessimo –

4
<?php echo substr($string, 0, strlen($string) - 3); ?> 
+13

Lo strlen() non è necessario. –

+3

strlen non è necessario leggere i documenti di substr – SsouLlesS

23

<?php echo substr("abcabcabc", 0, -3); ?>

2

Hai solo bisogno di usare substr() funzione con -3 per la lunghezza, come nel seguente esempio:

$str1 = "123456789ABC"; 
$str2 = substr($str1, 0, -3); 
echo $str2: // print 123456789 removing ABC at the end 
+9

Questa risposta è stata pubblicata quasi 5 anni dopo post praticamente identici ... questo non aggiunge valore e serve solo a sminuire le risposte preesistenti. – mah

+0

Questa è la buona risposta perché la domanda non è chiedere come posso mostrare senza gli ultimi 3 caratteri di pungiglione. Ora è possibile usare di nuovo '$ str1'. Grazie... – user5510975

Problemi correlati