diff options
author | z0rglub <z0rglub@piwigo.org> | 2004-03-31 22:26:15 +0000 |
---|---|---|
committer | z0rglub <z0rglub@piwigo.org> | 2004-03-31 22:26:15 +0000 |
commit | 4bd0efd3eacaa8e11b6b711e04e0c527ad926a16 (patch) | |
tree | e25d150bbf4152d64e979f97f479d40f64206b27 | |
parent | bbacac635c296844a1012177f1830b3e1d32ccd5 (diff) |
bug 23 : search case insensitive BUT highlightning case sensitive
git-svn-id: http://piwigo.org/svn/branches/release-1_3@410 68402e56-0260-453c-a942-63ccdbb3a9ee
-rw-r--r-- | include/functions.inc.php | 25 |
1 files changed, 17 insertions, 8 deletions
diff --git a/include/functions.inc.php b/include/functions.inc.php index 94050d13b..2a3a795c8 100644 --- a/include/functions.inc.php +++ b/include/functions.inc.php @@ -260,10 +260,17 @@ function get_languages( $rep_language ) return $languages; } -// - add_style replaces the -// $search into <span style="$style">$search</span> -// in the given $string. -// - The function does not replace characters in HTML tags +/** + * replaces the $search into <span style="$style">$search</span> in the + * given $string. + * + * case insensitive replacements, does not replace characters in HTML tags + * + * @param string $string + * @param string $search + * @param string $style + * @return string + */ function add_style( $string, $search, $style ) { //return $string; @@ -277,15 +284,17 @@ function add_style( $string, $search, $style ) while ( is_numeric( $start ) and is_numeric( $end ) ) { $treatment = substr ( $remaining, 0, $start ); - $treatment = str_replace( $search, '<span style="'.$style.'">'. - $search.'</span>', $treatment ); + $treatment = preg_replace( '/('.$search.')/i', + '<span style="'.$style.'">\\0</span>', + $treatment ); $return_string.= $treatment.substr( $remaining, $start, $end-$start+1 ); $remaining = substr ( $remaining, $end + 1, strlen( $remaining ) ); $start = strpos ( $remaining, '<' ); $end = strpos ( $remaining, '>' ); } - $treatment = str_replace( $search, '<span style="'.$style.'">'. - $search.'</span>', $remaining ); + $treatment = preg_replace( '/('.$search.')/i', + '<span style="'.$style.'">\\0</span>', + $remaining ); $return_string.= $treatment; return $return_string; |