คุณดึง 100 อักขระแรกของสตริงใน PHP ได้อย่างไร


92

ฉันกำลังมองหาวิธีดึงอักขระ 100 ตัวแรกจากตัวแปรสตริงเพื่อใส่ในตัวแปรอื่นสำหรับการพิมพ์

มีฟังก์ชันที่สามารถทำสิ่งนี้ได้อย่างง่ายดายหรือไม่?

ตัวอย่างเช่น:

$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

จะได้รับ:

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

คำถามที่ดีกว่าคือ: คุณดึง / เลือกอักขระ n ตัวแรกจากสตริงได้อย่างไร?
rahim.nagori

คำตอบ:


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

สำหรับString Manipulationนี่คือหน้าที่มีฟังก์ชันมากมายที่อาจช่วยคุณในการทำงานในอนาคต


2
มีปัญหาในการส่งคืนข้อความภาษาอาหรับเนื่องจากเป็นคำที่มีตัวอักษรรวมกันหากพารามิเตอร์ที่สอง (100) ไม่อยู่ที่ส่วนท้ายของคำภาษาอาหรับในคำสุดท้ายในขณะที่นับ 100 จะส่งคืนค่าว่าง สำหรับสิ่งนั้นเราจะใช้ (mb_substr ($ big, 0,100)
SAR

39

คุณสามารถใช้ substr ได้ฉันเดาว่า:

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

หรือ mb_substr สำหรับสตริงหลายไบต์:

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

คุณสามารถสร้างฟังก์ชันโดยใช้ฟังก์ชันนี้และต่อท้ายเช่น'...'เพื่อระบุว่าถูกย่อ (ฉันเดาว่ามีคำตอบที่คล้ายกันทั้งหมดร้อยคำเมื่อโพสต์ ... )


23

คำตอบที่ล่าช้า แต่มีประโยชน์ PHP มีฟังก์ชันสำหรับจุดประสงค์นี้โดยเฉพาะ

mb_strimwidth

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

2
ดี 1 ... มีประโยชน์จริงๆ +1
RJParikh

21
$ x = '1234567';

echo substr ($ x, 0, 3); // เอาต์พุต 123

echo substr ($ x, 1, 1); // เอาต์พุต 2

echo substr ($ x, -2); // เอาต์พุต 67

echo substr ($ x, 1); // เอาต์พุต 234567

echo substr ($ x, -2, 1); // เอาต์พุต 6

1
ขอขอบคุณ. ซึ่งสรุปตัวแปรของฟังก์ชัน substr () ได้อย่างดี!
JoshFinnie

ฉันมี128.82สตริงและฉันต้องการแยก100และ28.82
Moeez

18

ลองใช้ฟังก์ชันนี้

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

หากไม่มีฟังก์ชันภายใน 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);
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.