Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум Регулярные Выражения

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Весь текст большими буквами
 
 автор: Владимир55   (12.08.2010 в 10:09)   письмо автору
 
 

Некоторые посетители вводят информацию в форму, набирая весь текст большими буквами. Получается некрасиво, словно крик. В этом случае уж лучше весь текст перевести в нижний регистр.

Как сделать, что бы строка из заглавных букв автоматически переводилась в нижний регистр?

==============
Сайт в utf-8, но если это сильно усложняет дело, то для этой обработки могу конвертировать в 1251 и затем обратно в utf-8.

  Ответить  
 
 автор: Tonik992   (12.08.2010 в 14:13)   письмо автору
 
   для: Владимир55   (12.08.2010 в 10:09)
 

<?php
strtolower
($str// Преобразует строку в нижний регистр
strtoupper($str// Преобразует строку в верхний регистр

  Ответить  
 
 автор: Владимир55   (12.08.2010 в 14:29)   письмо автору
 
   для: Tonik992   (12.08.2010 в 14:13)
 

Задача в другом: преобразовать в нижний регистр ту строку, которая состоит полностью из букв верхнего регистра.

То есть, прежде определить, что ВСЕ буквы находятся в верхнем регистре, и только в этом случае перевести весь текст в нижний регистр.

  Ответить  
 
 автор: serenya1983   (12.08.2010 в 15:42)   письмо автору
 
   для: Владимир55   (12.08.2010 в 14:29)
 

Можно примерно так:

$text="ваш текст";
if ($text==strtoupper($text)) $text=strtoupper($text);

  Ответить  
 
 автор: Владимир55   (12.08.2010 в 16:11)   письмо автору
 
   для: serenya1983   (12.08.2010 в 15:42)
 

Я искал какие-то сложные решения, а всё оказалось просто!

Спасибо, работает!

<?php

    $text 
"ВСЁ В ВЕРХНЕМ РЕГИСТРЕ";
    
setlocale(LC_CTYPE 'ru_RU.CP1251');
    if (
$text==strtoupper($text)) $text=strtolower($text);

    
$text iconv('cp1251''utf-8'$text);
    echo 
$text;

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования