Làm cách nào để bạn kéo 100 ký tự đầu tiên của một chuỗi trong PHP


91

Tôi đang tìm cách kéo 100 ký tự đầu tiên từ một biến chuỗi để đưa vào một biến khác để in.

Có một chức năng có thể làm điều này một cách dễ dàng?

Ví dụ:

$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

Để có được:

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

Câu hỏi tốt hơn sẽ là: Làm thế nào để bạn kéo / chọn n ký tự đầu tiên từ một chuỗi?
rahim.nagori

Câu trả lời:


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

Đối với Thao tác trên chuỗi, đây là một trang có rất nhiều chức năng có thể giúp ích cho bạn trong công việc sau này.


2
có vấn đề khi trả về văn bản tiếng Ả Rập, vì chúng là các từ có các chữ cái kết hợp nếu tham số thứ hai (100) không nằm ở cuối các từ tiếng Ả Rập ở cuối cùng trong khi đếm 100, nó sẽ trả về giá trị rỗng. cho điều đó chúng tôi sẽ sử dụng (mb_substr ($ big, 0,100)
SAR

38

Bạn có thể sử dụng substr, tôi đoán:

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

hoặc mb_substr cho chuỗi nhiều byte:

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

Bạn có thể tạo một hàm sử dụng hàm này và thêm vào ví dụ '...'để chỉ ra rằng nó đã được rút ngắn. (Tôi đoán đã có cả trăm câu trả lời tương tự khi điều này được đăng ...)


22

Một câu trả lời muộn nhưng hữu ích, PHP có một chức năng dành riêng cho mục đích này.

mb_strimwidth

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

2
Tốt 1 ... Thực sự hữu ích. +1
RJParikh

21
$ x = '1234567';

echo substr ($ x, 0, 3); // đầu ra 123

echo substr ($ x, 1, 1); // đầu ra 2

echo substr ($ x, -2); // kết quả đầu ra 67

echo substr ($ x, 1); // kết quả đầu ra 234567

echo substr ($ x, -2, 1); // đầu ra 6

1
Cảm ơn bạn. Điều đó tổng hợp các biến của hàm substr () một cách độc đáo!
JoshFinnie

Tôi có 128.82trong một chuỗi và tôi muốn tách biệt 10028.82
Moeez

18

thử chức năng này

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

Không có chức năng bên trong 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);
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.