Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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.038 c
6-1143492849
w666w
2006-03-28 00:54
2006.08.13
INDY10 гонит или я болею?


3-1149603740
VALUA
2006-06-06 18:22
2006.08.13
QuickRep1 - Изменить программно ориентацию страницы


2-1153656846
Варяг
2006-07-23 16:14
2006.08.13
Интересный глюк с именем таблицы


2-1153996435
Crazy monkey
2006-07-27 14:33
2006.08.13
Вопрос по фильтру


2-1153822432
rlzz
2006-07-25 14:13
2006.08.13
А как таймер в dll сделать





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский