Главная страница
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.058 c
15-1151906106
Кручен-Верчен
2006-07-03 09:55
2006.08.13
Появилась куча свободного времени.


3-1149505937
WhiteBarin
2006-06-05 15:12
2006.08.13
Где взять FastReport


15-1152793731
Yeg
2006-07-13 16:28
2006.08.13
Siemens AT Commands


9-1131501075
Сабж.
2005-11-09 04:51
2006.08.13
Как найти художника для игры?


2-1153487021
b.o.n.d.007
2006-07-21 17:03
2006.08.13
Степень и корень