Como obter os primeiros 5 caracteres da string

Respostas:

549

Para strings de byte único (por exemplo, US-ASCII, família ISO 8859, etc.), use substre para strings de vários bytes (por exemplo, UTF-8, UTF-16, etc.), use mb_substr:

// singlebyte strings
$result = substr($myStr, 0, 5);
// multibyte strings
$result = mb_substr($myStr, 0, 5);
quiabo
fonte
2
Obrigado, isso é o que eu precisava para:if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
shanehoban
1
Você realmente só precisa de str_replace ('www.', '', $ Url); Não precisa verificar se existe.
Doug Cassidy
8
@DougCassidy: e se $url = "www.subwww.myweirddomainwww.com"? Sem a verificação inicial substr($url, 0, 4), retornou $urlestá arruinado !!
Fr0zenFyr
46

Use substr():

$result = substr($myStr, 0, 5);
BoltClock
fonte
substr("Häagen-Dazs", 0, 5) == "Häag"- O que estou fazendo de errado?
user187291
12
@stereofrog: Você provavelmente está usando uma codificação de caracteres de vários bytes como UTF-8. Nesse caso, use mb_substr.
Gumbo
20

Uma maneira alternativa de obter apenas um personagem.

$str = 'abcdefghij';

echo $str{5};
Paul Hodel
fonte
7
Esta é a resposta certa para a pergunta errada. Votado.
Mckmackusa
Porque requer mais do que copiar e colar?
Robert Pounder
NOTA: Para conjuntos de caracteres de vários bytes, como UTF-8, deve-se usar mb_substr(i, 1)para obter o icaractere. @RobertPounder - porque não se estende à obtenção de mais de um caractere.
Home
1
@ToolmakerSteve, se você diz; $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)); (copiar e colar isso em phptester.net ou nós)
Robert Pounder
Sim eu conheço. Eu não diminuí pessoalmente o voto; Acabei de observar de que maneira isso não responde à pergunta. O que você escreveu - essa seria uma resposta completa: mostrar a um iniciante como no php se estende de um caracter para vários caracteres. Adição útil às perguntas e respostas - obrigado.
Home
15

Você pode usar a substrfunção assim:

echo substr($myStr, 0, 5);

O segundo argumento para substré de qual posição o que você deseja iniciar e o terceiro argumento é para quantos caracteres você deseja retornar.

Sarfraz
fonte
-4

Você pode obter seu resultado simplesmente usando substr () :

Sintaxe substr (string, start, length)

Exemplo

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

Resultado :

 Hello
Prabhu Nandan Kumar
fonte
16
Este post MUITO atrasado não agrega valor e apenas incha a página, porque tudo o que diz já foi dito (anos antes). Não poste uma resposta, a menos que você tenha algo único e valioso a acrescentar. Votou esta resposta para desencorajar postagens inúteis e atrasadas.
precisa saber é o seguinte
Você postou uma resposta sete anos depois? Seriamente?
Varin