ffxpwns Posted March 31, 2012 Share Posted March 31, 2012 Hi, I'm REALLY new to PHP, so any help would be appreciated . I'm trying to make a script that truncates a post after a certain amount of words (Below). And I suppose the article would have to have $description="blahblahblah";. My question is; how would I go about making this script actually work? Where would I put the code and the articles? Like I said, I have less than 2 days experience with PHP, so please don't judge // this signifies how to truncate function myTruncate($string, $limit, $break=".", $pad="...") { // return with no change if string is shorter than $limit if(strlen($string) <= $limit) return $string; // is $break present between $limit and the end of the string? if(false !== ($breakpoint = strpos($string, $break, $limit))) { if($breakpoint < strlen($string) - 1) { $string = substr($string, 0, $breakpoint) . $pad; } } return $string; } And the code that says when to truncate: // replace 'xxx' with the number desired $shortdesc = myTruncate($description, XXX); echo "<p>$shortdesc</p>"; Link to comment https://forums.phpfreaks.com/topic/260047-php-newbie-question/ Share on other sites More sharing options...
ffxpwns Posted March 31, 2012 Author Share Posted March 31, 2012 Would this work better for the second snippet of code? But I would still need to know the overall formatting. I want it so logged in users can see the full article. $description = 'This is the text I wish to either display in full or truncate'; if ( !$user->uid ) { $description = myTruncate($description, XXX); } echo "<p>$description</p>"; Link to comment https://forums.phpfreaks.com/topic/260047-php-newbie-question/#findComment-1332919 Share on other sites More sharing options...
Proletarian Posted March 31, 2012 Share Posted March 31, 2012 // I would probably change this line... if(false !== ($breakpoint = strpos($string, $break, $limit))) // to this... if ($breakpoint = strpos($string, $break, $limit)) It's just a preference, I suppose, but it makes more sense to me; because, the first line made me think you were checking if it weren't true, but it's a double negative check, where the second line is an affirmative check to continue with the following block. Give this a test, though, just to be sure. Link to comment https://forums.phpfreaks.com/topic/260047-php-newbie-question/#findComment-1332933 Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.