C'est la bonne réponse à la mauvaise question. Voté.
mickmackusa
Parce qu'il faut plus que copier-coller?
Robert Pounder
REMARQUE: pour les jeux de caractères multi-octets tels que UTF-8, vous devez utiliser mb_substr(i, 1)à la place pour obtenir ile caractère. @RobertPounder - car il ne s'étend pas à l'obtention de plusieurs caractères.
ToolmakerSteve
1
@ToolmakerSteve, si vous le dites; $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)); (copiez-collez cela dans phptester.net ou nous)
Robert Pounder
Oui je sais. Je ne l'ai pas personnellement dévalorisé; Je viens de voir en quoi cela ne répond pas à la question. Ce que vous avez écrit - ce serait une réponse complète: montrer à un débutant comment en php on peut passer d'un caractère à plusieurs caractères. Ajout utile aux questions et réponses - merci.
ToolmakerSteve
15
Vous pouvez utiliser la substrfonction comme ceci:
echo substr($myStr,0,5);
Le deuxième argument de substrest à partir de quelle position vous voulez commencer et le troisième argument est le nombre de caractères que vous voulez retourner.
Ce message TRÈS tardif n'ajoute aucune valeur et gonfle simplement la page car tout ce qu'il dit a déjà été dit (des années plus tôt). Veuillez ne pas poster de réponse à moins que vous ayez quelque chose d'unique et de précieux à ajouter. A rejeté cette réponse pour décourager les messages inutiles et tardifs.
mickmackusa
Vous avez posté une réponse 7 ans plus tard? Sérieusement?
Réponses:
Pour les chaînes à un octet (par exemple US-ASCII, famille ISO 8859, etc.)
substr
et pour les chaînes à plusieurs octets (par exemple UTF-8, UTF-16, etc.), utilisezmb_substr
:la source
if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
$url = "www.subwww.myweirddomainwww.com"
? Sans le chèque initialsubstr($url, 0, 4)
, le retour$url
est ruiné !!Utilisation
substr()
:la source
substr("Häagen-Dazs", 0, 5) == "Häag"
- Qu'est-ce que je fais mal?mb_substr
.Une façon alternative d'obtenir un seul personnage.
la source
mb_substr(i, 1)
à la place pour obteniri
le caractère. @RobertPounder - car il ne s'étend pas à l'obtention de plusieurs caractères.$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));
(copiez-collez cela dans phptester.net ou nous)Vous pouvez utiliser la
substr
fonction comme ceci:Le deuxième argument de
substr
est à partir de quelle position vous voulez commencer et le troisième argument est le nombre de caractères que vous voulez retourner.la source
Vous pouvez obtenir votre résultat en utilisant simplement substr () :
Syntaxe substr (chaîne, début, longueur)
Exemple
Production :
la source