diff options
Diffstat (limited to 'include/functions.inc.php')
-rw-r--r-- | include/functions.inc.php | 32 |
1 files changed, 24 insertions, 8 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php index 41611df86..5ff119f29 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -101,23 +101,39 @@ function get_elapsed_time( $start, $end ) // - This function was created because IE5 does not respect the // CSS "white-space: nowrap;" property unless space and minus // characters are replaced like this function does. +// - Example : +// <div class="foo">My friend</div> +// ( 01234567891111111111222222222233 ) +// ( 0123456789012345678901 ) +// becomes : +// <div class="foo">My friend</div> function replace_space( $string ) { - //return $string; - $return_string = ""; + //return $string; + $return_string = ''; + // $remaining is the rest of the string where to replace spaces characters $remaining = $string; - + // $start represents the position of the next '<' character + // $end represents the position of the next '>' character $start = 0; $end = 0; - $start = strpos ( $remaining, '<' ); - $end = strpos ( $remaining, '>' ); + $start = strpos ( $remaining, '<' ); // -> 0 + $end = strpos ( $remaining, '>' ); // -> 16 + // as long as a '<' and his friend '>' are found, we loop while ( is_numeric( $start ) and is_numeric( $end ) ) { + // $treatment is the part of the string to treat + // In the first loop of our example, this variable is empty, but in the + // second loop, it equals 'My friend' $treatment = substr ( $remaining, 0, $start ); + // Replacement of ' ' by his equivalent ' ' $treatment = str_replace( ' ', ' ', $treatment ); $treatment = str_replace( '-', '−', $treatment ); - $return_string.= $treatment.substr ( $remaining, $start, - $end - $start + 1 ); + // composing the string to return by adding the treated string and the + // following HTML tag -> 'My friend</div>' + $return_string.= $treatment.substr( $remaining, $start, $end-$start+1 ); + // the remaining string is deplaced to the part after the '>' of this + // loop $remaining = substr ( $remaining, $end + 1, strlen( $remaining ) ); $start = strpos ( $remaining, '<' ); $end = strpos ( $remaining, '>' ); @@ -125,7 +141,7 @@ function replace_space( $string ) $treatment = str_replace( ' ', ' ', $remaining ); $treatment = str_replace( '-', '−', $treatment ); $return_string.= $treatment; - + return $return_string; } |