bug 23 : search case insensitive BUT highlightning case sensitive

git-svn-id: http://piwigo.org/svn/trunk@409 68402e56-0260-453c-a942-63ccdbb3a9ee
This commit is contained in:
z0rglub
2004-03-31 22:25:31 +00:00
parent d74a116ded
commit 2c860657f4
+17 -8
View File
@@ -278,10 +278,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;
@@ -295,15 +302,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;