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

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

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

 

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

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

тема: Поменять слова в тексте с английских на русские!
 
 автор: Na100yashyi   (28.12.2007 в 23:00)   письмо автору
 
 

Есть текст, следующего вида:

Mon Dec 24,11:50 PM,GMT,JPY,JPY BSI Large All Industry (QoQ) (4Q),Medium,,,6.2

Mon Dec 24,11:50 PM,GMT,JPY,JPY BSI Large Manufacturing (QoQ) (4Q),Medium,,,7.7

Tue Dec 25,5:00 AM,GMT,JPY,JPY Supermarket Sales (YoY) (NOV),Low,,,1.10%

Tue Dec 25,11:50 PM,GMT,JPY,JPY BoJ Monetary Policy Meeting Minutes for October 31,Low,,,

Tue Dec 25,11:50 PM,GMT,JPY,JPY BoJ Monetary Policy Meeting Minutes for November,Medium,,,

Wed Dec 26,3:50 AM,GMT,JPY,JPY BoJ Board Member Kamezaki to Speak at Economic Forum,Low,,,

Wed Dec 26,7:45 AM,GMT,EUR,EUR France Housing Permits 3M (YoY) % Change (NOV),Low,,,3.20%

Thu Dec 27,11:30 PM,GMT,JPY,JPY National CPI (YoY)  (NOV),High,,0.5%,0.3%

Thu Dec 27,11:30 PM,GMT,JPY,JPY National CPI Ex Fresh Food (YoY) (NOV),High,,0.3%,0.1%

Thu Dec 27,11:30 PM,GMT,JPY,JPY National CPI Ex Food; Energy (YoY) (NOV),High,,-0.2%,-0.3%

К примеру в некоторых строках есть слова Medium, Low и High, нужно их заменить на русские: Среднее, Низкое и Важное - соответственно, как это можно сделать, и можно ли это вообще осуществить с помощью рег. выражений?
Т.е. строка должна остатся такой же, если в ней встречается одно из этих слов, его нужно поменять на русское и перезаписать.

   
 
 автор: Саня   (29.12.2007 в 00:35)   письмо автору
 
   для: Na100yashyi   (28.12.2007 в 23:00)
 

Это делается так
<?
$text 
str_replace(array("Medium""Low""High"), array("Среднее""Низкое""Важное"), $text);

   
 
 автор: Na100yashyi   (31.12.2007 в 11:54)   письмо автору
 
   для: Саня   (29.12.2007 в 00:35)
 

Спасибо, все работает, но только с английским языком, т.е. если написать:

str_replace(array("Medium", "Low", "High"), array("SREDNEE - Среднее", "NIZKOE - Низкое", "VAZHNOE - Важное")

то в файле отображается только:

 ... SREDNEE - ,,,7
 ... NIZKOE - ,,,1
 ... er 31,NIZKOE - ,,,

то есть русский шрифт не отображается, обьясните в чем проблема, может с настройками апача?

   
 
 автор: exp   (31.12.2007 в 14:08)   письмо автору
 
   для: Na100yashyi   (31.12.2007 в 11:54)
 

Если на выходе html-страница , нужно что.бы русские слова были написаны в той-же кодировке что указана в заголовках страницы.
И по большому счёту регулярными выражениями получится точнее заменять , у вас например переведёт так.же часть слова hightlight , и регистр букв один .

Выражениями получится примерно так
<?
echo preg_replace(array('#\blow\b#i''#\bmedium\b#i''#\bhight\b#i'),array('низкое''среднее''высокое'), $txt);

если не принимать ко вниманию ещё то , что существительные которым могут предшествовать эти прилагательные могут быть во множественном числе :)
тогда сначала желательно заменять как например '#\blow\b(?=\s+[a-z]+s\b#' на 'низкие' в low sectors. И то останется ещё проблема какого рода могут быть эти существительные .
Если переводить просто любой текст , без переписывания вручную сделать если и возможно , то километры кода

   
Rambler's Top100
вверх

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