Bagaimana Anda menarik 100 karakter pertama dari sebuah string di PHP

91

Saya mencari cara untuk menarik 100 karakter pertama dari variabel string untuk dimasukkan ke variabel lain untuk dicetak.

Apakah ada fungsi yang dapat melakukan ini dengan mudah?

Sebagai contoh:

$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

Mendapatkan:

I am looking for a way to pull the first 100 characters from a string vari
JoshFinnie
sumber
Pertanyaan yang lebih baik adalah: Bagaimana Anda menarik / memilih n karakter pertama dari sebuah string?
rahim.nagori

Jawaban:

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

Untuk Manipulasi String di sini adalah halaman dengan banyak fungsi yang mungkin dapat membantu Anda dalam pekerjaan Anda di masa mendatang.

Patrick Desjardins
sumber
2
ada masalah dalam mengembalikan teks arab, karena merupakan kata-kata dengan huruf gabungan jika parameter kedua (100) tidak ada di akhir kata arab di akhir sementara menghitung 100 akan mengembalikan nol. untuk itu kami akan menggunakan (mb_substr ($ besar, 0,100)
SAR
38

Anda bisa menggunakan substr, saya rasa:

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

atau mb_substr untuk string multi-byte:

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

Anda bisa membuat fungsi yang menggunakan fungsi ini dan menambahkan misalnya '...'untuk menunjukkan bahwa itu dipersingkat. (Saya kira sudah ada seratus balasan serupa saat ini diposting ...)

Stein G. Strindhaug
sumber
22

Jawaban yang terlambat tetapi bermanfaat, PHP memiliki fungsi khusus untuk tujuan ini.

mb_strimwidth

$string = mb_strimwidth($string, 0, 100);
$string = mb_strimwidth($string, 0, 97, '...'); //optional characters for end
Coz
sumber
2
Bagus 1 ... Sangat berguna. +1
RJParikh
21
$ x = '1234567';

substr gema ($ x, 0, 3); // keluaran 123

substr gema ($ x, 1, 1); // keluaran 2

substr gema ($ x, -2); // keluaran 67

substr gema ($ x, 1); // keluaran 234567

substr gema ($ x, -2, 1); // keluaran 6
markus
sumber
1
Terima kasih. Itu meringkas variabel dari fungsi substr () dengan baik!
JoshFinnie
Saya ada 128.82dalam sebuah string dan saya ingin memisahkan 100dan28.82
Moeez
18

coba fungsi ini

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);
}
Kostis
sumber
2

Tanpa fungsi internal 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);
joan16v
sumber