aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorz0rglub <z0rglub@piwigo.org>2003-05-21 17:46:57 +0000
committerz0rglub <z0rglub@piwigo.org>2003-05-21 17:46:57 +0000
commitdf0d5d19054bca46a2bcc2f9d8bee136ffa8c8ad (patch)
tree32b1bba469ba6408efcdbc8e520a4481bff82fc4 /include
parentaac81a8a382f7ec527e22d6dee959400d77e1a21 (diff)
*** empty log message ***
git-svn-id: http://piwigo.org/svn/trunk@15 68402e56-0260-453c-a942-63ccdbb3a9ee
Diffstat (limited to '')
-rw-r--r--include/functions.inc.php32
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&nbsp;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 '&nbsp;'
$treatment = str_replace( ' ', '&nbsp;', $treatment );
$treatment = str_replace( '-', '&minus;', $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&nbsp;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( ' ', '&nbsp;', $remaining );
$treatment = str_replace( '-', '&minus;', $treatment );
$return_string.= $treatment;
-
+
return $return_string;
}