2008-11-25 17 views
57

Yazdırma için başka bir değişkeni koymak için bir dizi değişkeninden ilk 100 karakteri çekmenin bir yolunu arıyorum.PHP'de bir dizgenin ilk 100 karakterini nasıl çekersiniz

Bunu kolayca yapabilecek bir işlev var mı? Örneğin

:

$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 

almak için: String Manipulation için

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

cevap

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

burada gelecekteki çalışmaları size yardımcı olabilecek fonksiyonunun bir sürü bir sayfadır.

+1

o null adlı dönecektir 100 sayarken ikinci parametre (100) son on Arapça kelimelerin sonundaki değilse onlar kombine harflerle kelimelerdir olarak sorun, Arapça metin dönen yoktur . Bunun için kullanacağız (mb_substr ($ büyük, 0,100) – SAR

18

bu fonksiyonu deneyin

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
Sen substr kullanabilirsiniz

sanırım:

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

veya çoklu bit dizeleri mb_substr:

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

Bir fonksiyon wich oluşturabilir Bu işlevi kullanır ve örneğin kısaltıldığını belirtmek için '...' ekler. php iç fonksiyonları olmadan

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

Teşekkür ederim. Bu, substr() işlevinin değişkenlerini güzel bir şekilde toplar! – JoshFinnie

2

(ı ... Bu yayınlandığında yüz benzer cevaplar allready yok sanırım):

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

Geç ama yararlı cevap, PHP bunun için özel olarak bir işlevi vardır amaç.

mb_strimwidth

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

İyi 1 ... Gerçekten kullanışlı. +1 – RJParikh

İlgili konular