strtolower

(PHP 4, PHP 5)

strtolower — Преобразует строку в нижний регистр

Описание

string strtolower ( string $str )

Возвращает строку string , в которой все буквенные символы переведены в нижний регистр.

Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ Ä не будет преобразован.

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

<?php
$str 
"Mary Had A Little Lamb and She LOVED It So";
$str strtolower($str);
echo 
$str// выводит: mary had a little lamb and she loved it so
?>

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

См. также описание функций strtoupper(), ucfirst(), ucwords() и mb_strtolower().

Коментарии

Heres a small function I wrote to stop people from submitting data that is ALL IN CAPS SO THEY CAN GET MORE ATTENTION THAT THE REST OF THE USER SUBMITTED DATA on my website :) If you can make it better, by all means do so. This function splits up words delimited by a space, and makes only the first letter of each word capitalized. You can easily modify it so it's only the very first word of the string. I've also added some exceptions so you don't make things like roman numerals look like "Iii" or "Xcmii" or something.

function RemoveShouting($string)
{
 $lower_exceptions = array( 
        "to" => "1", "a" => "1", "the" => "1", "of" => "1"
 ); 
 
 $higher_exceptions = array( 
        "I" => "1", "II" => "1", "III" => "1", "IV" => "1", 
        "V" => "1", "VI" => "1", "VII" => "1", "VIII" => "1",
        "XI" => "1", "X" => "1"
 ); 
 
 $words = split(" ", $string); 
 $newwords = array(); 
 foreach ($words as $word)
 {
  if (!$higher_exceptions[$word]) $word = strtolower($word);
  if (!$lower_exceptions[$word]) $word[0] = strtoupper($word[0]);
  array_push($newwords, $word);
 }
 return join(" ", $newwords);
}

BK
2003-01-20 00:39:44
http://php5.kiev.ua/manual/ru/function.strtolower.html
To do case insensitive comparisons in a database, strtolower() can be a quick and dirty solution:

$Sql = "SELECT * FROM tablename WHERE LOWER(column_name) = '".strtolower($my_var)."'";
2004-12-08 15:04:05
http://php5.kiev.ua/manual/ru/function.strtolower.html
There's a ucfirst "function" to make the first character uppercase, but there's no "lcfirst" function to make the first character lowercase.  Here's my own code to accomplish this.

<?
function lcfirst($str) {
    return 
strtolower(substr($str01)) . substr($str1);
}
?>

I found this particularly useful for generating XML nodes with the Reflection class.
2005-07-19 19:04:32
http://php5.kiev.ua/manual/ru/function.strtolower.html
Автор:
If you're considering using the below unhtmlentities function from phpContrib, I would suggest this one as an alternative:

<?php
function unhtmlentities($string)
{
   
// replace numeric entities
   
$string preg_replace('~&#x([0-9a-f]+);~ei''chr(hexdec("\\1"))'$string);
   
$string preg_replace('~&#([0-9]+);~e''chr(\\1)'$string);
   
// replace literal entities
   
$trans_tbl get_html_translation_table(HTML_ENTITIES);
   
$trans_tbl array_flip($trans_tbl);
   return 
strtr($string$trans_tbl);
}
?>

That was copied exactly from the html_entity_decode manual page.  It'll handle numeric entities correctly, the below function won't.
2006-01-19 12:57:21
http://php5.kiev.ua/manual/ru/function.strtolower.html
Maybe it is not so elegant, but it Works.
It's just a fast Idea and it is what I need.
Any hacks for other characters (link !, ? etc etc) should help.

function RemoveShouting($string)
{
     $frase = "";   
     $astri = explode(".", $string);
     foreach ($astri as $elem)
    $frase .= " ".ucfirst(trim(strtolower($elem))).". ";
       
    return trim($frase);
}

Cheers!
M
2007-05-22 03:43:55
http://php5.kiev.ua/manual/ru/function.strtolower.html
Slovenian characters

<?php
   
function strtolower_slovenian($string)
    {
       
$low=array("Č" => "č""Ž" => "ž""Š" => "š");
        return 
strtolower(strtr($string,$low));
    }

?>
2007-06-04 14:49:33
http://php5.kiev.ua/manual/ru/function.strtolower.html
When you're not sure, how the current locale is set, you might find the following function useful. It's strtolower for utf8-formatted text:

<?php
function strtolower_utf8($inputString) {
   
$outputString    utf8_decode($inputString);
   
$outputString    strtolower($outputString);
   
$outputString    utf8_encode($outputString);
    return 
$outputString;
}
?>

It's not suitable for every occasion, but it surely gets in handy. I use it for lowering German 'Umlauts' like ä and ö.
2007-10-17 09:29:28
http://php5.kiev.ua/manual/ru/function.strtolower.html
<?php
function fullLower($str){
   
// convert to entities
   
$subject htmlentities($str,ENT_QUOTES);
   
$pattern '/&([a-z])(uml|acute|circ';
   
$pattern.= '|tilde|ring|elig|grave|slash|horn|cedil|th);/e';
   
$replace "'&'.strtolower('\\1').'\\2'.';'";
   
$result preg_replace($pattern$replace$subject);
   
// convert from entities back to characters
   
$htmltable get_html_translation_table(HTML_ENTITIES);
   foreach(
$htmltable as $key => $value) {
     
$result ereg_replace(addslashes($value),$key,$result);
   }
   return(
strtolower($result));
}

echo 
fullLower("àɠҠՠÚÙÛ");

//results ã é ò õ úùû
//adapted from fullUpper on strtoupper manual
?>
2008-09-09 21:25:47
http://php5.kiev.ua/manual/ru/function.strtolower.html
the function  arraytolower will create duplicate entries since keys are case sensitive. 

<?php
$array 
= array('test1' => 'asgAFasDAAd''TEST2' => 'ASddhshsDGb''TeSt3 '=> 'asdasda@asdadadASDASDgh');

$array arraytolower($array);
?>
/*
Array
(
    [test1] => asgafasdaad
    [TEST2] => ASddhshsDGb
    [TeSt3] => asdasda@asdadadASDASDgh
    [test2] => asddhshsdgb
    [test3] => asdasda@asdadadasdasdgh
)
*/

I prefer this method

<?php
 
function arraytolower($array$include_leys=false) {
   
    if(
$include_leys) {
      foreach(
$array as $key => $value) {
        if(
is_array($value))
         
$array2[strtolower($key)] = arraytolower($value$include_leys);
        else
         
$array2[strtolower($key)] = strtolower($value);
      }
     
$array $array2;
    }
    else {
      foreach(
$array as $key => $value) {
        if(
is_array($value))
         
$array[$key] = arraytolower($value$include_leys);
        else
         
$array[$key] = strtolower($value);   
      }
    }
   
    return 
$array;
  } 
?>

which when used like this

<?php
$array 
$array = array('test1' => 'asgAFasDAAd''TEST2' => 'ASddhshsDGb''TeSt3 '=> 'asdasda@asdadadASDASDgh');

$array1 arraytolower($array);
$array2 arraytolower($array,true);

print_r($array1);
print_r($array2);
?>

will give output of 

Array
(
    [test1] => asgafasdaad
    [TEST2] => asddhshsdgb
    [TeSt3] => asdasda@asdadadasdasdgh
)
Array
(
    [test1] => asgafasdaad
    [test2] => asddhshsdgb
    [test3] => asdasda@asdadadasdasdgh
)
2009-01-07 15:34:54
http://php5.kiev.ua/manual/ru/function.strtolower.html
for cyrillic and UTF 8 use  mb_convert_case

exampel

<?php
$string 
"Австралия";
$string mb_convert_case($stringMB_CASE_LOWER"UTF-8");
echo 
$string;

//output is: австралия
?>
2009-04-03 19:08:15
http://php5.kiev.ua/manual/ru/function.strtolower.html
strtolower(); doesn't work for polish chars

<?php strtolower("mĄkA"); ?>
will return: mĄka;

the best solution - use mb_strtolower()

<?php mb_strtolower("mĄkA",'UTF-8'); ?>
will return: mąka
2010-06-22 18:16:55
http://php5.kiev.ua/manual/ru/function.strtolower.html
Автор:
To convert an entire array to lower, I prefer this method;

<?php
function arraytolower(array $array$round 0){
  return 
unserialize(strtolower(serialize($array)));
}
?>

3 lines of code seem a lot less overhead than 10-40.
If there's any intrinsic problem with this method, please post it.
2011-03-31 19:57:54
http://php5.kiev.ua/manual/ru/function.strtolower.html
It is worth noting that 
<?php 
var_dump
(strtolower(null))
?>
returns: 
string(0) ""
2014-11-26 15:05:04
http://php5.kiev.ua/manual/ru/function.strtolower.html

    Поддержать сайт на родительском проекте КГБ