Форум: "Прочее";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Внизвопросик по пхп Найти похожие ветки
← →
antonn © (2006-07-18 08:55) [0]ковыряюсь в сабже и понадобилось перевести все символы в нижний регистр (или в верхний) для сравнения строк без учета регистра. Есть ли какая функция для изменения регистра? Типа AnsiLowerCase(). Нашел функцию strtolower(), но к ней уточнение о зависимости от параметра locale, а я даже не знаю, что это такое:)
Или может есть процедурка для сравнения строк без учета регистра?
← →
cyborg © (2006-07-18 09:01) [1]strtoupper
(PHP 3, PHP 4, PHP 5)
strtoupper -- Преобразует строку в верхний регистр
Описание
string strtoupper ( string string )
Возвращает строку string, в которой все буквенные символы переведены в верхний регистр.
Принадлежность того или иного символа к буквенным определяется с учетом текущей локали. Это означает, что, например, в используемой по умолчанию локали "C" locale, символ ? не будет преобразован.
Пример 1. Пример использования strtoupper()
<?php
$str = "Mary Had A Little Lamb and She LOVED It So";
$str = strtoupper($str);
echo $str; // выводит: MARY HAD A LITTLE LAMB AND SHE LOVED IT SO
?>
Замечание: Эта функция безопасна для обработки данных в двоичной форме.
==========
strcmp
(PHP 3, PHP 4, PHP 5)
strcmp -- Сравнение строк, безопасное для данных в двоичной форме
Описание
int strcmp ( string str1, string str2 )
Возвращает отрицательное число, если str1 меньше, чем str2; положительное число, если str1 больше, чем str2, и 0 если строки равны.
Эта функция учитывает регистр символов.
=======
strcasecmp
(PHP 3 >= 3.0.2, PHP 4, PHP 5)
strcasecmp -- Сравнение строк без учета регистра, безопасное для данных в двоичной форме
Описание
int strcasecmp ( string str1, string str2 )
Возвращает отрицательное число, если str1 меньше, чем str2; положительное число, если str1 больше, чем str2, и 0 если строки равны. Пример 1. Пример использования strcasecmp()
<?php
$var1 = "Hello";
$var2 = "hello";
if (strcasecmp($var1, $var2) == 0) {
echo "$var1 равно $var2 при сравнении без учета регистра";
}
?>
← →
cyborg © (2006-07-18 09:02) [2]http://www.php.net/docs.php
Качай справку, есть на русском языке, правда не до конца переведённая.
← →
antonn © (2006-07-18 09:03) [3]cyborg © (18.07.06 9:01) [1]
спасибище! :)
возьму последнюю, а то эти локали напрягают...
← →
cyborg © (2006-07-18 09:04) [4]> зависимости от параметра locale, а я даже не знаю, что это
> такое
Это учитывая текущий язык. Если установлен русский, то будет русские буквы корректно сравнивать.
← →
antonn © (2006-07-18 09:05) [5]cyborg © (18.07.06 9:02) [2]
я из Web Development Studio использую, просто на int не обращал внимание, искал string
← →
antonn © (2006-07-18 09:06) [6]cyborg © (18.07.06 9:04) [4]
Это учитывая текущий язык. Если установлен русский, то будет русские буквы корректно сравнивать.
во-во, а мне такая радость с настройками не нужна, мне попроще и "по-деревянней" :)
← →
cyborg © (2006-07-18 09:07) [7]Вот прямая ссылка http://www.php.net/download-docs.php
← →
novoalex © (2006-07-18 09:07) [8]int strcmp(st1,st2)- двоичное сравнение строк
← →
programania © (2006-07-18 19:45) [9]>а мне такая радость с настройками не нужна, мне попроще и "по-деревянней" :)
function lower($s){
return strtr($s,"ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ","йцукенгшщзхъфывапролджэячсмитьбю");
}
Можно еще попробовать
setlocale (LC_ALL, "ru_RU.KOI8-R");
или
setlocale (LC_ALL, "ru_RU.CP1251");
и т.п.
но мне все это не помогло
← →
antonn © (2006-07-19 06:19) [10]programania © (18.07.06 19:45) [9]
function lower($s){
return strtr($s,"ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮ","йцукенгшщзхъфывапролджэячсмитьбю");
}
а другие языки? неизвестно на каких языках текст будет.
← →
VictorT © (2006-07-19 12:21) [11]
> а другие языки? неизвестно на каких языках текст будет.
и кодировки тоже разные?
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.08.13;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.042 c