swamp Posted August 13, 2008 Share Posted August 13, 2008 Hi, i've got this code to split up my articles. I want to split the article into different divs after around 400 characters. I also would like it if it didn't split a word half way through. <?php $str = $post; echo chunk_split($str,400,"..."); ?> Any help much appreciated Thanks Quote Link to comment Share on other sites More sharing options...
adam84 Posted August 13, 2008 Share Posted August 13, 2008 You would need to create a function that would count to how ever length you want it to split up the string, and if the end character a space, then return the string else you can loop forward until you find the next instance of a space. Quote Link to comment Share on other sites More sharing options...
effigy Posted August 13, 2008 Share Posted August 13, 2008 <pre> <?php $data = <<<DATA Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Etiam dictum, lacus euismod aliquet vehicula, tellus eros venenatis massa, ultrices aliquam magna massa ut felis. Suspendisse eget eros. Morbi malesuada neque in felis. Quisque volutpat. Donec eu elit vel velit dapibus aliquet. Sed condimentum sagittis est. Ut ultrices, ipsum eget feugiat vestibulum, nibh orci mollis purus, id blandit metus odio sollicitudin lorem. In hac habitasse platea dictumst. Integer erat. Proin blandit. Vestibulum dignissim neque et mi. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Vestibulum ullamcorper, diam ut tincidunt facilisis, erat erat posuere tortor, id pellentesque velit elit ut mauris. Fusce at odio quis pede tincidunt tincidunt. Vivamus mollis vulputate lacus. Duis consequat. Aliquam posuere leo non metus commodo dictum. Donec iaculis consectetuer pede. Nulla facilisi. In sed augue. Suspendisse commodo, massa elementum pellentesque varius, justo nisi lobortis est, id placerat magna felis in tellus. Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Donec pharetra risus quis quam. Nullam elit arcu, scelerisque at, cursus quis, varius non, leo. Suspendisse non nibh at metus tempor dictum. Mauris ante odio, pellentesque ac, consectetuer consectetuer, porta ac, nisl. In hac habitasse platea dictumst. Aliquam sit amet elit vel magna lacinia tristique. Nullam justo. Etiam hendrerit molestie massa. Morbi risus nisi, commodo facilisis, vulputate ac, hendrerit mollis, massa. Suspendisse adipiscing odio a enim. Aenean id erat vel orci hendrerit gravida. Quisque semper elementum tellus. Vestibulum metus libero, fermentum sit amet, facilisis ut, facilisis et, nulla. DATA; $pieces = preg_split('/(.{390,410})(?=\s)/s', $data, -1, PREG_SPLIT_DELIM_CAPTURE | PREG_SPLIT_NO_EMPTY); foreach ($pieces as $piece) { $piece = trim($piece); echo '<b>', strlen($piece), '</b>: ', $piece, '<hr>'; } ?> </pre> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.