Comment extraire les 100 premiers caractères d'une chaîne en PHP


91

Je cherche un moyen d'extraire les 100 premiers caractères d'une variable de chaîne pour les mettre dans une autre variable pour l'impression.

Y a-t-il une fonction qui peut faire cela facilement?

Par exemple:

$string1 = "I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing.";
$string2 = 100charfunction($string1);
print $string2

Obtenir:

I am looking for a way to pull the first 100 characters from a string vari

La meilleure question serait: Comment tirez-vous / sélectionnez-vous les n premiers caractères d'une chaîne?
rahim.nagori

Réponses:


198
$small = substr($big, 0, 100);

Pour la manipulation de chaînes, voici une page avec de nombreuses fonctions qui pourraient vous aider dans vos futurs travaux.


2
il y a un problème lors du retour du texte arabe, car ce sont des mots avec des lettres combinées si le deuxième paramètre (100) n'est pas à la fin des mots arabes sur le dernier en comptant 100 il retournera nul. pour cela nous utiliserons (mb_substr ($ big, 0,100)
SAR

38

Vous pouvez utiliser substr, je suppose:

$string2 = substr($string1, 0, 100);

ou mb_substr pour les chaînes multi-octets:

$string2 = mb_substr($string1, 0, 100);

Vous pouvez créer une fonction qui utilise cette fonction et l'ajoute par exemple '...'pour indiquer qu'elle a été raccourcie. (Je suppose qu'il y a déjà une centaine de réponses similaires lorsque cela est publié ...)


22

Réponse tardive mais utile, PHP a une fonction spécifiquement à cet effet.

mb_strimwidth

$string = mb_strimwidth($string, 0, 100);
$string = mb_strimwidth($string, 0, 97, '...'); //optional characters for end

2
Bon 1 ... Vraiment utile. +1
RJParikh

21
$ x = '1234567';

echo substr ($ x, 0, 3); // sorties 123

echo substr ($ x, 1, 1); // sorties 2

echo substr ($ x, -2); // sorties 67

echo substr ($ x, 1); // sorties 234567

echo substr ($ x, -2, 1); // sorties 6

1
Merci. Cela résume bien les variables de la fonction substr ()!
JoshFinnie

J'ai 128.82dans une chaîne et je veux séparer 100et28.82
Moeez le

18

essayez cette fonction

function summary($str, $limit=100, $strip = false) {
    $str = ($strip == true)?strip_tags($str):$str;
    if (strlen ($str) > $limit) {
        $str = substr ($str, 0, $limit - 3);
        return (substr ($str, 0, strrpos ($str, ' ')).'...');
    }
    return trim($str);
}

2

Sans fonctions internes php:

function charFunction($myStr, $limit=100) {    
    $result = "";
    for ($i=0; $i<$limit; $i++) {
        $result .= $myStr[$i];
    }
    return $result;    
}

$string1 = "I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing.";

echo charFunction($string1);
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.