2010-09-24 23 views
152

Come arrivare primi 5 caratteri dalla stringa utilizzando phpCome arrivare primi 5 caratteri dalla stringa

$myStr = "HelloWordl"; 

risultato dovrebbe essere simile a questo

$result = "Hello"; 
+14

Duplicato: [Come si estraggono i primi 100 caratteri di una stringa in PHP] (http://stackoverflow.com/questions/317336/how-do-you-pull-first-100-characters-of- a-string-in-php). (Sì, lo so 100! = 5.) ​​ –

+0

Possibile duplicato del [Get primi n caratteri di una stringa] (https://stackoverflow.com/questions/3161816/get-first-n-characters-of-a-string) – mega6382

risposta

345

Per single-byte strings (ad esempio, US-ASCII, ISO 8859 famiglia, ecc) utilizzano substr e per multi-byte strings (ad esempio UTF-8, UTF-16, ecc) usa mb_substr:

// singlebyte strings 
$result = substr($myStr, 0, 5); 
// multibyte strings 
$result = mb_substr($myStr, 0, 5); 
+0

Grazie, questo è quello che mi serviva per: 'if (substr ($ myURL, 0, 4) == "www.") $ myURL = preg_replace ('/ www./', '', $ myURL, 1); – shanehoban

+0

Hai solo bisogno di str_replace ('www.', '', $ Url); Non è necessario verificare se esiste. –

7

È possibile utilizzare la funzione di substr in questo modo:

echo substr($myStr, 0, 5); 

Il secondo argomento su substr è da quale posizione si desidera per iniziare e il terzo argomento è per quanti caratteri si desidera restituire.

33

Uso substr():

$result = substr($myStr, 0, 5); 
+0

'substr (" Häagen-Dazs ", 0, 5) ==" Häag "' - cosa sto facendo di sbagliato? – user187291

+8

@stereofrog: Probabilmente stai usando una codifica di caratteri multibyte come UTF-8. In tal caso usa 'mb_substr'. – Gumbo

16

un modo alternativo per ottenere un solo carattere.

$str = 'abcdefghij'; 

echo $str{5}; 
+0

Questa è la risposta giusta alla domanda sbagliata. Downvoted. – mickmackusa

0

È possibile ottenere il risultato semplicemente utilizzare substr():

Sintassi substr (stringa, inizio, lunghezza)

Esempio

<?php 
$myStr = "HelloWordl"; 
echo substr($myStr,0,5); 
?> 

uscita:

Hello 
+2

Questo post MOLTO in ritardo non aggiunge alcun valore e semplifica semplicemente la pagina perché tutto ciò che dice è già stato detto (anni prima). Si prega di non pubblicare una risposta a meno che non si abbia qualcosa di unico e prezioso da aggiungere. Downvoted questa risposta per scoraggiare i post inutili, in ritardo. – mickmackusa

Problemi correlati