|
rtrim
Strip whitespace (or other characters) from the end of a string
(PHP 4, PHP 5)
Example 2427. Usage example of rtrim()<?php The above example will output: string(32) " These are a few words :) ... " Related Examples ( Source code ) » rtrim Examples ( Source code ) » E-mail address validation class Code Examples / Notes » rtrimgbelanger
True, the Perl chomp() will only trim newline characters. There is, however, the Perl chop() function which is pretty much identical to the PHP rtrim() --- Here's a quick way to recursively trim every element of an array, useful after the file() function : # Reads /etc/passwd file an trims newlines on each entry $aFileContent = file("/etc/passwd"); foreach ($aFileContent as $sKey => $sValue) { $aFileContent[$sKey] = rtrim($sValue); } print_r($aFileContent); yas
To remove an unwanted character - example "." - if exist or not. The example above doesn't include the case where there is no "." If there is not "." at the example above the last word will be deleted. Have fun with this code. <?php $text = "This string contains. some unwanted characters on the end ."; $text = trim($text); $last = $text{strlen($text)-1}; if (!strcmp($last,".")) { $text = rtrim($text, 'a..z'); $text = rtrim($text, '.'); } ?> todd
This shows how rtrim works when using the optional charlist parameter: rtrim reads a character, one at a time, from the optional charlist parameter and compares it to the end of the str string. If the characters match, it trims it off and starts over again, looking at the "new" last character in the str string and compares it to the first character in the charlist again. If the characters do not match, it moves to the next character in the charlist parameter comparing once again. It continues until the charlist parameter has been completely processed, one at a time, and the str string no longer contains any matches. The newly "rtrimmed" string is returned. <?php // Example 1: rtrim('This is a short short sentence', 'short sentence'); // returns 'This is a' // If you were expecting the result to be 'This is a short ', // then you're wrong; the exact string, 'short sentence', // isn't matched. Remember, character-by-character comparison! // Example 2: rtrim('This is a short short sentence', 'cents'); // returns 'This is a short short ' ?> icon-phpnet
Not entirely. Perl's "chomp" will only remove the newline character, while rtrim without the second parameter will remove ALL whitespace. E.g. chomp("blah \n") will return "blah ", while rtrim("blah \n") will return "blah".
unimagined
I needed a way to trim all white space and then a few chosen strings from the end of a string. So I wrote this class to reuse when stuff needs to be trimmed. <?php class cleaner { function cleaner ($cuts,$pinfo) { $ucut = "0"; $lcut = "0"; while ($cuts[$ucut]) { $lcut++; $ucut++; } $lcut = $lcut - 1; $ucut = "0"; $rcut = "0"; $wiy = "start"; while ($wiy) { if ($so) { $ucut = "0"; $rcut = "0"; unset($so); } if (!$cuts[$ucut]) { $so = "restart"; } else { $pinfo = rtrim($pinfo); $bpinfol = strlen($pinfo); $tcut = $cuts[$ucut]; $pinfo = rtrim($pinfo,"$tcut"); $pinfol = strlen($pinfo); if ($bpinfol == $pinfol) { $rcut++; if ($rcut == $lcut) { unset($wiy); } $ucut++; } else { $so = "restart"; } } } $this->cleaner = $pinfo; } } $pinfo = "Well... I'm really bored...<br /> \n\t <br /> \r\r \r<br /> \r \n <br />\t"; $cuts = array('\n','\r','\t',' ',' ',' ','<br />',' ','<br/>'); $pinfo = new cleaner($cuts,$pinfo); $pinfo = $pinfo->cleaner; print $pinfo; ?> That class will take any string that you put in the $cust array and remove it from the end of the $pinfo string. It's useful for cleaning up comments, articles, or mail that users post to your site, making it so there's no extra blank space or blank lines. hw
$text = "This string contains some unwanted characters on the end."; $text1 = rtrim($text, 'a..z'); $text1 = rtrim($text1, '.'); echo $text1; // only the '.' is trimmed. $text2 = rtrim($text, 'a..z.'); echo $text2; // The whole last word is trimmed. |
Change Languageaddcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string convert_uudecode convert_uuencode count_chars crc32 crypt echo explode fprintf get_html_translation_table hebrev hebrevc html_entity_decode htmlentities htmlspecialchars_decode htmlspecialchars implode join levenshtein localeconv ltrim md5_file md5 metaphone money_format nl_langinfo nl2br number_format ord parse_str printf quoted_printable_decode quotemeta rtrim setlocale sha1_file sha1 similar_text soundex sprintf sscanf str_getcsv str_ireplace str_pad str_repeat str_replace str_rot13 str_shuffle str_split str_word_count strcasecmp strchr strcmp strcoll strcspn strip_tags stripcslashes stripos stripslashes stristr strlen strnatcasecmp strnatcmp strncasecmp strncmp strpbrk strpos strrchr strrev strripos strrpos strspn strstr strtok strtolower strtoupper strtr substr_compare substr_count substr_replace substr trim ucfirst ucwords vfprintf vprintf vsprintf wordwrap |