2008-11-25 2 views
57

Ich bin auf der Suche nach einer Möglichkeit, die ersten 100 Zeichen aus einer String-Variablen zu ziehen, um eine andere Variable für den Druck zu setzen.Wie ziehst du die ersten 100 Zeichen eines Strings in PHP

Gibt es eine Funktion, die das leicht machen kann?

Zum Beispiel:

$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 

Um:

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

Antwort

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

Für String Manipulation hier eine Seite mit viel Funktion ist, dass Sie in Ihrer zukünftigen Arbeit helfen könnte.

+1

gibt es Problem arabischen Textes auf Rückkehr, da sie Worte mit kombinierten Buchstaben sind, wenn der zweite Parameter (100) nicht am Ende der arabischen Worte auf dem letzten ist, während 100 gezählt wird null zurück . (mb_substr ($ big, 0,100) – SAR

18

versuchen diese Funktion

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

Sie substr verwenden könnte, ich denke:

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

oder mb_substr für Multi-Byte-Zeichenketten:

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

Sie könnten eine Funktion Wich erstellen verwendet diese Funktion und hängt zum Beispiel '...' an, um anzuzeigen, dass es gekürzt wurde. (Ich denke, es ist allready hundert ähnliche Antworten, wenn dies geschrieben wird ...)

19
$x = '1234567'; 

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

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

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

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

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

Danke. Das fasst die Variablen der Funktion substr() gut zusammen! – JoshFinnie

2

Ohne php interne Funktionen:

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

Eine späte, aber nützliche Antwort, hat PHP eine Funktion speziell für diese Zweck.

mb_strimwidth

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

Gut 1 ... Wirklich nützlich. +1 – RJParikh

Verwandte Themen