I am using the following code to display the title and body content of articles from a database. How can I make only the first 200 characters from the article’s body appear as opposed to all the characters?
<?php
$select = mysql_query("SELECT * FROM articles ORDER BY id DESC");
while ($result = mysql_fetch_assoc($select))
{
$id = $result['id'];
$title = $result['title'];
$body = $result['body'];
echo "<h2><a name='$id'>" . $title . "</a></h2>";
echo $body . "<br />";
}
?>
Any help is greatly appreciated!
Change this line:
To this:
That utilizes the comparison operator (aka the ternary operator) to output only the first 200 characters if
$bodyis over 200 chars in length, and the whole body otherwise.A common technique you could use to mark a truncated block of text would be to add an ellipsis on the end of a truncated text block (three periods, or the HTML entity
…). This is why I usually use the comparison operator here rather than just doing asubstr($str,0,200), which would work for both cases, but not let you modify them separately.