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);

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);

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};

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.


-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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.