PHP functions:trim middle: Difference between revisions
(added category PHP functions) |
No edit summary |
||
Line 54: | Line 54: | ||
[[Image:My_test_URL_is_33_characters_long.png|thumb|33 char test URLs]] | [[Image:My_test_URL_is_33_characters_long.png|thumb|33 char test URLs]] | ||
[[Category:PHP | [[Category:PHP code]] |
Revision as of 03:42, 5 November 2007
Description
This PHP function will reduce long strings to shorter strings, by trimming out the middle. It can be used on any string, but was inspired by the need to reduce URLs that are
http://super.really.long.urls/so/long/they/cannot/really_fit_in_one/field,then
I'd like to reduce the middle of the URL to "[...]"
http://super.really.long.urls[...]/really_fit_in_one/field,then
The field will look a bit nicer and still have useful information.
Bugs
The requested length must longer than the string to put in the center.
Source
<source lang="php"> <?php //***********************************************// // // this code is freeware // //***********************************************//
/***********************************************/ // echo trim_middle("this is a long string", 10); // thi[...]ng /***********************************************/ function trim_middle($string, $len = 33, $center = "[...]") {
if(strlen($string) <= $len) { return($string); } else { // for now, I'm not going to handle the case where $center is longer than $len $num_chars_to_keep = $len - strlen($center); $num_chars_to_keep_left = ceil($num_chars_to_keep / 2); $num_chars_to_keep_right = floor($num_chars_to_keep / 2); $left_string = substr($string,0,$num_chars_to_keep_left); $right_string = substr($string,-$num_chars_to_keep_right); return $left_string . $center . $right_string; } } ?> </source>
Why 33?
Because the URLs in our test system that *I* made happened to be 33 characters long