Cómo obtener los primeros 5 caracteres de la cadena


Respuestas:


549

Para cadenas de un solo byte (por ejemplo, US-ASCII, familia ISO 8859, etc.) substry para cadenas de varios bytes (por ejemplo, UTF-8, UTF-16, etc.) use mb_substr:

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

2
Gracias, esto es para lo que lo necesitaba:if(substr($myURL, 0, 4) == "www.") $myURL = preg_replace('/www./', '', $myURL, 1);
shanehoban

1
Realmente solo necesita str_replace ('www.', '', $ Url); No tiene que verificar si existe.
Doug Cassidy

8
@DougCassidy: ¿y si $url = "www.subwww.myweirddomainwww.com"? Sin la verificación inicial de substr($url, 0, 4), devuelto $urlse arruina !!
Fr0zenFyr

46

Uso substr():

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

substr("Häagen-Dazs", 0, 5) == "Häag"- ¿Qué estoy haciendo mal?
user187291

12
@stereofrog: Probablemente estés usando una codificación de caracteres de varios bytes como UTF-8. En ese caso uso mb_substr.
Gumbo

20

Una forma alternativa de obtener solo un personaje.

$str = 'abcdefghij';

echo $str{5};

77
Esta es la respuesta correcta a la pregunta incorrecta. Voto negativo
mickmackusa

¿Porque requiere más que copiar y pegar?
Robert Pounder

NOTA: Para conjuntos de caracteres de varios bytes, como UTF-8, debe usarse mb_substr(i, 1)para obtener el icarácter. @RobertPounder: porque no se extiende a obtener más de un personaje.
ToolmakerSteve

1
@ToolmakerSteve, si tú lo dices; $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)); (copie y pegue eso en phptester.net o nosotros)
Robert Pounder

Sí, lo sé. Yo personalmente no lo rechacé; Acabo de observar de qué manera no responde la pregunta. Lo que escribió: esa sería una respuesta completa: mostrarle a un principiante cómo en php se extiende desde obtener un carácter a varios caracteres. Complemento útil a las preguntas y respuestas: gracias.
ToolmakerSteve

15

Puede usar la substrfunción de esta manera:

echo substr($myStr, 0, 5);

El segundo argumento substres desde qué posición desea comenzar y el tercer argumento es sobre cuántos caracteres desea devolver.


-4

Puede obtener su resultado simplemente usando substr () :

Sintaxis substr (cadena, inicio, longitud)

Ejemplo

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

Salida:

 Hello

16
Esta publicación MUY tardía no agrega valor y simplemente hincha la página porque todo lo que dice ya se ha dicho (años antes). No publique una respuesta a menos que tenga algo único y valioso que agregar. Rechazó esta respuesta para desalentar las publicaciones inútiles y tardías.
mickmackusa

¿Publicaste una respuesta 7 años después? ¿Seriamente?
Varin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.