Jump to content

Displaying only part of a string


Aftermath

Recommended Posts

Hello, I'm working on creating a blog and I need a hand.
Right now, I have the entry being called from the database and being displayed in a table.

[code]
while($row = mysql_fetch_array($result)) {

    $date = date("l F d Y", $row['timestamp']);

    $title = $row['title'];
    $entry = $row['entry'];
    $name = $row['username'];
    $id = $row['id'];

    ?>

<table width="100%" align="left">
<tr><td><u> <?php echo $title; ?></u></td>
<td align="right"> <?php echo $date; ?></td></tr>
<tr><td colspan="2"><b><?php echo $name; ?></b></td></tr>
<tr><td colspan="2"> <?php echo $entry; ?></td></tr>
<tr><td colspan="2"><br /></td></tr>
<tr><td colspan="2"><a href="blog_entries.php?id=<?php echo $id; ?>">View Post</a></td>
<tr><td colspan="2"><HR WIDTH="100%"></td></tr>
</table>
<br />

    <?php
}
?>
[/code]

I was wondering how would I go about making it only display, say the first 150 characters of the enrty?
Link to comment
Share on other sites

Try this in your script

[code]<?PHP

function truncate_string($details,$max)
{
    if(strlen($details)>$max)
    {
        $details = substr($details,0,$max);
        $i = strrpos($details," ");
        $details = substr($details,0,$i);
        $details = $details." ..... ";
    }
    return $details;
}

$text = truncate_string("hello there. This is a long string",19);

?> [/code]

returns

hello there. This .....

Link to comment
Share on other sites

Thanks a lot! It worked ^_^

Could you possibly explain it so I know what it means?

[code]
function truncate_string($details,$max)
{
    if(strlen($details)>$max)
    {
        $details = substr($details,0,$max);
        $i = strrpos($details," ");
        $details = substr($details,0,$i);
        $details = $details." ..... ";
    }
    return $details;
}

while($row = mysql_fetch_array($result)) {

    $date = date("l F d Y", $row['timestamp']);

    $title = $row['title'];
    $entry = truncate_string($row['entry'],20);
    $name = $row['username'];
    $id = $row['id'];
[/code]
Link to comment
Share on other sites

Ok, here we go, line by line...

[code]
function truncate_string($details,$max)
{
[/code]

obviously, this first line says "let's make a function named truncate_string; and it will need two pieces of information to do its job. The first is a variable named $details which contains the string/text we want to truncate/shorten. $max is the maximum length of text we want from the string.

[code]
    if(strlen($details)>$max)
    {
[/code]
This line checks to make sure that the original string is longer than the max length we are looking to create.

[code]
        $details = substr($details,0,$max);
[/code]
This line takes a slice off of the original string ($details). the slice starts at the beginning (the 0) and is $max characters long. The original string/text is then replaced with the slice ($details =).

[code]        $i = strrpos($details," ");
[/code]
This line checks to see where the last space is located in our new string. The reason for this is to make sure we didn't cut a word in the middle.

[code]
        $details = substr($details,0,$i);
[/code]
This line uses the information from the previous line to actually make the string end with a full word.


[code]
        $details = $details." ..... ";
    }
[/code]
This line simply adds some periods to the end of our new string to indicate to a reader that there is more text to follow.

[code]
    return $details;
}
[/code]
This last line of our function simply passes our new string back to our script

[code]
$text = truncate_string("hello there. This is a long string",19);
[/code]
This demonstrates how you could use the function in a script.

Hope this isn't too muddy.

Lite...
Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.