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

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

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

 

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

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

тема: преобразовать эквиваленты спецсимволов в нижний регистр
 
 автор: jbs   (10.07.2008 в 01:38)   письмо автору
 
 

например & в &
что-то типа &[A-Z]; в &[a-я];

   
 
 автор: exp   (10.07.2008 в 02:12)   письмо автору
 
   для: jbs   (10.07.2008 в 01:38)
 

как-то так
<?
echo $str preg_replace('#((?<=&)[A-Z]{2,5}(?=;))#e',
 
'strtolower("$1")',
 
$str);

но может и лишне брать & в предшевствующую подмаску (?<=)

   
 
 автор: jbs   (10.07.2008 в 02:34)   письмо автору
 
   для: exp   (10.07.2008 в 02:12)
 

незнаю как, но работает, спасибо.

   
 
 автор: jbs   (10.07.2008 в 10:37)   письмо автору
 
   для: jbs   (10.07.2008 в 02:34)
 

что-то немогу понять что это (?<=&) и (?=;)
почему не проще '#(&[A-Z]{2,5};)#e' ???

   
 
 автор: Trianon   (10.07.2008 в 11:30)   письмо автору
 
   для: jbs   (10.07.2008 в 01:38)
 

>что-то типа &[A-Z]; в &[a-я];
А я вот это не могу понять...


можно и без подмасок. И & и ; все равно регистр не изменят.

   
 
 автор: jbs   (10.07.2008 в 11:53)   письмо автору
 
   для: Trianon   (10.07.2008 в 11:30)
 

я имел ввиду
preg_replace('#(&[A-Z]{2,5};)#e', 'strtolower("$1")', $s);

оно тоже работает.

я просто немогу понять что оначают эти подмаски (?<=&) и (?=;)
что они означают?

P.S. мне необходимо прогнать около 10 метров текста, и косяки ненужны.
а визуально проверить такое количество нериально.

   
 
 автор: Trianon   (10.07.2008 в 12:13)   письмо автору
 
   для: jbs   (10.07.2008 в 11:53)
 

подмаски означают буквально "левее был ?" и "правее будет ;"

Я бы не стал связываться с подмасками, а оставил Ваш последний вариант.
Именно как простой и надежный.
Единственное, что меня смущает, все ли символы влезают в пять букв?

   
 
 автор: jbs   (10.07.2008 в 22:01)   письмо автору
 
   для: Trianon   (10.07.2008 в 12:13)
 

>Единственное, что меня смущает, все ли символы влезают в пять букв?
Влезают в шесть. Хорошо, что заметили, спасибо.

   
Rambler's Top100
вверх

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