JoshFinnie
JoshFinnie

Reputation: 4911

How do you pull first 100 characters of a string in PHP

I am looking for a way to pull the first 100 characters from a string variable to put in another variable for printing.

Is there a function that can do this easily?

For example:

$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

To get:

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

Upvotes: 112

Views: 225983

Answers (6)

joan16v
joan16v

Reputation: 5139

Without php internal functions:

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);

Upvotes: 3

Coz
Coz

Reputation: 1983

A late but useful answer, PHP has a function specifically for this purpose.

mb_strimwidth

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

Upvotes: 38

markus
markus

Reputation: 40685

$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

Upvotes: 24

Kostis
Kostis

Reputation: 1105

try this function

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);
}

Upvotes: 21

Patrick Desjardins
Patrick Desjardins

Reputation: 140903

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

For String Manipulation here is a page with a lot of function that might help you in your future work.

Upvotes: 239

Stein G. Strindhaug
Stein G. Strindhaug

Reputation: 5119

You could use substr, I guess:

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

or mb_substr for multi-byte strings:

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

You could create a function wich uses this function and appends for instance '...' to indicate that it was shortened. (I guess there's allready a hundred similar replies when this is posted...)

Upvotes: 40

Related Questions