| Title | Test
                    Find
                    
                    Pattern Title | 
            
                | Expression | ^([\s\S]){1,20}([\s\.]) | 
            
                | Description | This pattern returns as much of the first x characters of a string as full words or sentences as a match, where x is currently 20. Change x to adjust the length supported in your database field.
I'm currently using this within a string shortening utility to shrink large text regions to word/sentance-boundary elements and appending an ellipsis as a text continuator. | 
            
                | Matches | Any text of any length | ...but will only 'match' the first 20 characters at a period or space. | 
            
                | Non-Matches | N/A | 
            
                | Author | Rating:  Shawn Hall | 
            
                | Source | http://ReliableAnswers.com/ | 
            
              | Your Rating |  | 
        
    
 
    
    
     
        
                
	                Title: Using with PHP
	                Name: wamuonfraud
	                Date: 3/12/2006 9:07:21 PM
	                Comment: 
Just what I was looking for.  To use with PHP preg_match:
$maxlen = 500;
$regex = '%^([\s\S]){1,' . $maxlen . '}([\s\.\?!])%i';
$num_matches = preg_match($regex, $string, $_EXCERPT);
$excerpt = $_EXCERPT[0];
                
                
            
                
	                Title: Mr
	                Name: Woody
	                Date: 11/27/2005 5:34:11 PM
	                Comment: 
Stuart's error is caused by not having delimiters around the regex, as required by PHP in functions like preg_match(). Just do this:
$pattern = '/^([\s\S]){1,20}([\s\.])/';
Notice the slashes at the beginning and end of the regex.
Use $pattern in your preg_match or other PHP statement.
                
                
            
                
	                Title: Stuart's PHP error
	                Name: Shawn K. Hall
	                Date: 7/17/2004 6:47:18 PM
	                Comment: 
Sorry to hear about that, but it sounds like user error to me. I've never seen the error you describe in RegEx in PHP. PHP doesn't use all the same named entities anyway, so you'd have to use a regex like the one below in order to get similar functionality:
  ^(.{1,50})([ \f\n\r\t\v\.])
                
                
            
                
	                Title: Mr
	                Name: Stuart Wright
	                Date: 7/17/2004 3:46:13 PM
	                Comment: 
The above doesn't work in PHP.  Get an error :
No ending delimiter '^' found