jimmyelewis Posted February 26, 2008 Share Posted February 26, 2008 I need to pull the first 150 or so characters from a MySQL database. I only want link tags to show up in the substring of the database. What I coded so far basically looks from the 150th character to some offset from that in the string without tags and searches the string with links tags looking for that. This works unless in between the 150 character to the offset a link occurs. Does anyone know how to fix this or a better way to go about doing this? Example that would be false: stringWithoutTags(150th +offset):"this is just an example" stringWithLinkTags:"...this is just <a href="">just an example<a>" $infoLength = 150; // amount of chars to show in news list $stringWithOutTags = strip_tags($a[5]); $stringWithLinkTags = strip_tags($a[5],'<a>'); if(strlen($stringWithOutTags)>$infoLength){ $infoLength = strpos($stringWithOutTags,' ',$infoLength-1); //go to the next space offset of $infoLength so a word isn't cut off for($i=20;$i>0;$i--){ //how much to string to compare to the string with link tags if(strlen($stringWithOutTags)>($infoLength+$i)){ $offset = $i; //sets the amount of the string to compare to $i = 0; } } $linksLength = strpos($stringWithLinkTags,substr($stringWithOutTags,$infoLength,$offset)); //finds the first post of the space plus the comparing part of the string with links tags to the string with out tags if($linksLength===false) $linksLength = strlen($stringWithLinkTags); //Problem here if the substring happens to over lap a link tag. } else{ $linksLength = strlen($stringWithLinkTags); } $stringWithLinkTags = substr($stringWithLinkTags,0,$linksLength); Link to comment https://forums.phpfreaks.com/topic/93143-pulling-the-first-150-characters-from-a-mysql-database/ Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.