Использовать strpos и substr:
<?php
$longString = "I have a code snippet written in PHP that pulls a block of text.";
$truncated = substr($longString,0,strpos($longString,' ',30));
echo $truncated;
Это даст вам строку, усеченную в первом пространстве после 30 символов.