Come ottenere i primi 5 caratteri dalla stringa usando php
$myStr = "HelloWordl";
il risultato dovrebbe essere così
$result = "Hello";
Come ottenere i primi 5 caratteri dalla stringa usando php
$myStr = "HelloWordl";
il risultato dovrebbe essere così
$result = "Hello";
Risposte:
Per le stringhe a byte singolo (es. US-ASCII, famiglia ISO 8859, ecc.) Usare substr
e per le stringhe a byte multipli (es. UTF-8, UTF-16, ecc.) Usare mb_substr
:
// singlebyte strings
$result = substr($myStr, 0, 5);
// multibyte strings
$result = mb_substr($myStr, 0, 5);
if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
$url = "www.subwww.myweirddomainwww.com"
? Senza il controllo iniziale per substr($url, 0, 4)
, il reso $url
è rovinato !!
Utilizzare substr()
:
$result = substr($myStr, 0, 5);
substr("Häagen-Dazs", 0, 5) == "Häag"
- Che cosa sto facendo di sbagliato?
mb_substr
.
Un modo alternativo per ottenere un solo personaggio.
$str = 'abcdefghij';
echo $str{5};
mb_substr(i, 1)
per ottenere i
il carattere th. @RobertPounder - perché non si estende a ottenere più di un personaggio.
$string = "Häagen-Dazs"; $stringFirstChars = function($amount, $string) { $i=0;$done=false;$return = '';while($done == false) {$return.=$string{$i};if($amount===$i)$done=true;$i++;}return $return;}; var_dump($stringFirstChars(5, $string));
(copialo incolla su phptester.net o su di noi)
Puoi ottenere il tuo risultato semplicemente usando substr () :
Sintassi substr (stringa, inizio, lunghezza)
Esempio
<?php
$myStr = "HelloWordl";
echo substr($myStr,0,5);
?>
Produzione :
Hello