str_ireplace

(PHP 5)

str_ireplace --  Регистро-независимый вариант функции str_replace().

Описание

mixed str_ireplace ( mixed search, mixed replace, mixed subject [, int &count] )

Эта функция возвращает строку или массив subject, в котором все вхождения search (без учета регистра символов) заменены на replace. Если не нужны сложные правила поиска/замены, использование этой функции предпочтительнее eregi_replace() или preg_replace() с модификатором i.

Если subject - массив, поиск и замена производится в каждом элементе этого массива, и возвращается также массив.

Если и search, и replace - массивы, то str_ireplace() использует все значения массива search и соответствующие значения массива replace для поиска и замены в subject. Если в массиве replace меньше элементов, чем в search, в качестве строки замены для оставшихся значений будет использована пустая строка. Если search - массив, а replace - строка, то replace будет использована как строка замены для каждого элемента массива search.

Пример 1. Пример использования str_ireplace()

<?php
$bodytag
= str_ireplace("%body%", "black", "<body text=%BODY%>");
?>

Замечание: Эта функция безопасна для обработки данных в двоичной форме.

Замечание: Начиная с PHP 5.0.0 количество произведенных замен может быть получено в необязательном аргументе count, который передается по ссылке. В версиях до PHP 5.0.0 этот аргумент недоступен.

См. также описание функций str_replace(), ereg_replace(), preg_replace() и strtr().



str_ireplace
hfuecks at nospam dot org
04-Jul-2005 02:07
Note that character case is being defined by your server's locale setting, which effects strings containing non-ASCII characters.

See strtolower() - strtolower and comments - internally str_ireplace converts $search and $replace to lowercase to find matches.
daevid at daevid dot com
05-Apr-2005 01:14
here's a neat little function I whipped up to do HTML color coding of SQL strings.

<?php
/**
 * Output the HTML debugging string in color coded glory for a sql query
 * This is very nice for being able to see many SQL queries
 * @access    public
 * @return    void. prints HTML color coded string of the input $query.
 * @param    string $query The SQL query to be executed.
 * @author    Daevid Vincent [daevid@LockdownNetworks.com]
 *  @version    1.0
 * @date        04/05/05
 * @todo    highlight SQL functions.
 */
function SQL_DEBUG( $query )
{
   if(
$query == '' ) return 0;

   global
$SQL_INT;
   if( !isset(
$SQL_INT) ) $SQL_INT = 0;

  
//[dv] this has to come first or you will have goofy results later.
  
$query = preg_replace("/['\"]([^'\"]*)['\"]/i", "'<FONT COLOR='#FF6600'>$1</FONT>'", $query, -1);

  
$query = str_ireplace(
                           array (
                                  
'*',
                                  
'SELECT ',
                                  
'UPDATE ',
                                  
'DELETE ',
                                  
'INSERT ',
                                  
'INTO',
                                  
'VALUES',
                                  
'FROM',
                                  
'LEFT',
                                  
'JOIN',
                                  
'WHERE',
                                  
'LIMIT',
                                  
'ORDER BY',
                                  
'AND',
                                  
'OR ', //[dv] note the space. otherwise you match to 'COLOR' ;-)
                                  
'DESC',
                                  
'ASC',
                                  
'ON '
                                
),
                           array (
                                  
"<FONT COLOR='#FF6600'><B>*</B></FONT>",
                                  
"<FONT COLOR='#00AA00'><B>SELECT</B> </FONT>",
                                  
"<FONT COLOR='#00AA00'><B>UPDATE</B> </FONT>",
                                  
"<FONT COLOR='#00AA00'><B>DELETE</B> </FONT>",
                                  
"<FONT COLOR='#00AA00'><B>INSERT</B> </FONT>",
                                  
"<FONT COLOR='#00AA00'><B>INTO</B></FONT>",
                                  
"<FONT COLOR='#00AA00'><B>VALUES</B></FONT>",
                                  
"<FONT COLOR='#00AA00'><B>FROM</B></FONT>",
                                  
"<FONT COLOR='#00CC00'><B>LEFT</B></FONT>",
                                  
"<FONT COLOR='#00CC00'><B>JOIN</B></FONT>",
                                  
"<FONT COLOR='#00AA00'><B>WHERE</B></FONT>",
                                  
"<FONT COLOR='#AA0000'><B>LIMIT</B></FONT>",
                                  
"<FONT COLOR='#00AA00'><B>ORDER BY</B></FONT>",
                                  
"<FONT COLOR='#0000AA'><B>AND</B></FONT>",
                                  
"<FONT COLOR='#0000AA'><B>OR</B> </FONT>",
                                  
"<FONT COLOR='#0000AA'><B>DESC</B></FONT>",
                                  
"<FONT COLOR='#0000AA'><B>ASC</B></FONT>",
                                  
"<FONT COLOR='#00DD00'><B>ON</B> </FONT>"
                                
),
                          
$query
                        
);

   echo
"<FONT COLOR='#0000FF'><B>SQL[".$SQL_INT."]:</B> ".$query."<FONT COLOR='#FF0000'>;</FONT></FONT><BR>\n";

  
$SQL_INT++;

}
//SQL_DEBUG
?>
aidan at php dot net
21-Aug-2004 12:58
If you want to do string highlighting, for example highlighting search terms, try str_highlight().

http://aidan.dotgeek.org/lib/?file=function.str_highlight.php
aidan at php dot net
30-May-2004 10:36
This functionality is now implemented in the PEAR package PHP_Compat.

More information about using this function without upgrading your version of PHP can be found on the below link:

http://pear.php.net/package/PHP_Compat

<sscanfstr_pad>
 Last updated: Tue, 15 Nov 2005