Jak pobrać pierwsze 100 znaków łańcucha w PHP


91

Szukam sposobu na wyciągnięcie pierwszych 100 znaków ze zmiennej łańcuchowej w celu umieszczenia innej zmiennej do drukowania.

Czy jest funkcja, która może to łatwo zrobić?

Na przykład:

$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

Aby otrzymać:

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

Lepszym pytaniem byłoby: jak wyciągnąć / wybrać pierwsze n znaków z ciągu?
rahim.nagori

Odpowiedzi:


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

Na łańcuchach o to strona z dużą ilością funkcji, które mogą pomóc w pracy w przyszłości.


2
występuje problem z zwracaniem tekstu arabskiego, ponieważ są to słowa z połączonymi literami, jeśli drugi parametr (100) nie znajduje się na końcu arabskiego słowa na ostatnim, podczas liczenia 100 zwróci wartość null. do tego użyjemy (mb_substr ($ big, 0,100)
SAR

38

Myślę, że możesz użyć substr:

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

lub mb_substr dla ciągów wielobajtowych:

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

Mógłbyś stworzyć funkcję, która korzysta z tej funkcji i dołącza na przykład, '...'aby wskazać, że została skrócona. (Wydaje mi się, że jest już sto podobnych odpowiedzi, kiedy to jest publikowane ...)


22

Późna, ale użyteczna odpowiedź. PHP ma funkcję specjalnie do tego celu.

mb_strimwidth

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

2
Dobra 1 ... Naprawdę przydatne. +1
RJParikh

21
$ x = '1234567';

echo substr ($ x, 0, 3); // wyświetla 123

echo substr ($ x, 1, 1); // wyświetla 2

echo substr ($ x, -2); // wyświetla 67

echo substr ($ x, 1); // wyświetla 234567

echo substr ($ x, -2, 1); // wyświetla 6

1
Dziękuję Ci. To ładnie podsumowuje zmienne funkcji substr ()!
JoshFinnie,

Mam 128.82w sznurku i chcę się rozdzielić 100i28.82
Moeez

18

spróbuj tej funkcji

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

Bez wewnętrznych funkcji 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);
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.