Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.08.13;
Скачать: CL | DM;

Вниз

вопросик по пхп   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.055 c
15-1153149555
HeadHunter
2006-07-17 19:19
2006.08.13
Qulix Systems (BelHard) приглашает на работу программистов


6-1143657395
Sysanin
2006-03-29 22:36
2006.08.13
проблемы при передаче картинок по сети


2-1153915713
WhiteCat
2006-07-26 16:08
2006.08.13
Не вносить запись в таблицу


3-1149506429
DmiSb
2006-06-05 15:20
2006.08.13
Какие компоненты лучше использовать для доступа к MS SQL ?


15-1153045246
прек
2006-07-16 14:20
2006.08.13
Дата изготовления телефона