Re: Substr by words
| From: | Gustavo Narea | Date: | Sun, 30 Oct 2005 06:22:18 +0000 |
| Subject: | Re: Substr by words | ||
| References: | 1 2 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-224839@lists.php.net to get a copy of this message | ||
My script will fail if the amount of words in $MyOriginalString is less than $MaxWords. So, this is the new suggestion:
<?php
$MyOriginalString = "This is my original string.\nWhat do you think about this script?";
$MaxWords = 50; // How many words are needed?
$replacement = ereg_replace ("^([[:space:]]*[^[:space:][:cntrl:]]+){1,$MaxWords}", "",$MyOriginalString);
echo substr( $MyOriginalString, 0, ($replacement) ? -strlen($replacement) : strlen($MyOriginalString));
?>
Four lines.
BTW: Did I mention that I was forgetful? ;-)
Best regards,
Gustavo Narea.
Gustavo Narea wrote:
Hello. What do you think about this: <?php $MyOriginalString = "This is my original string.\nWhat do you think about this script?"; $MaxWords = 6; // How many words are needed? echo substr( $MyOriginalString, 0, -strlen(ereg_replace ("^([[:space:]]*[^[:space:][:cntrl:]]+){1,$MaxWords}", "",$MyOriginalString))); ?> Only 3 lines. You have to change $MaxWords to 50 if that's what you need. Best regards, Gustavo Narea. Danny wrote:Hi, I need to extract 50 words more or less from a description field. How can i do that?. Substr, cuts the words. Is there any other way to that, without using and array? I mean and implemented function in PHP 4.x I´ve been googling around, but wordwrap, and substr is driving me mad... Thanks in advance Best Regards -- dpc