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

Форум PHP

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

 

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

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

тема: код замены
 
 автор: makigo   (22.04.2010 в 13:33)   письмо автору
 
 

Сегодня нашел этот код замены.
<?php 
function replace_cyr($path){
$search = array ("'Ё'", "'А'", "'Б'", "'В'", "'Г'", "'Д'", 
"'Е'", "'Ж'", "'З'", "'И'", "'Й'", "'К'", "'Л'", "'М'", 
"'Н'", "'О'", "'П'", "'Р'", "'С'", "'Т'", "'У'", "'Ф'", 
"'Х'", "'Ц'", "'Ч'", "'Ш'", "'Щ'", "'Ъ'", "'Ы'", "'Ь'", 
"'Э'", "'Ю'", "'Я'", "'а'", "'б'", "'в'", "'г'", "'д'", 
"'е'", "'ж'", "'з'", "'и'", "'й'", "'к'", "'л'", "'м'", 
"'н'", "'о'", "'п'", "'р'", "'с'", "'т'", "'у'", "'ф'", 
"'х'", "'ц'", "'ч'", "'ш'", "'щ'", "'ъ'", "'ы'", "'ь'", 
"'э'", "'ю'", "'я'", "'ё'", "'0'e");
$replace= array ('&#1025;', '&#1040;', '&#1041;', 
'&#1042;', '&#1043;', '&#1044;', '&#1045;', '&#1046;', 
'&#1047;', '&#1048;', '&#1049;', '&#1050;', '&#1051;', 
'&#1052;', '&#1053;', '&#1054;', '&#1055;', '&#1056;', 
'&#1057;', '&#1058;', '&#1059;', '&#1060;', '&#1061;', 
'&#1062;', '&#1063;', '&#1064;', '&#1065;', '&#1066;', 
'&#1067;', '&#1068;', '&#1069;', '&#1070;', '&#1071;', 
'&#1072;', '&#1073;', '&#1074;', '&#1075;', '&#1076;', 
'&#1077;', '&#1078;', '&#1079;', '&#1080;', '&#1081;', 
'&#1082;', '&#1083;', '&#1084;', '&#1085;', '&#1086;', 
'&#1087;', '&#1088;', '&#1089;', '&#1090;', '&#1091;', 
'&#1092;', '&#1093;', '&#1094;', '&#1095;', '&#1096;', 
'&#1097;', '&#1098;', '&#1099;', '&#1100;', '&#1101;', 
'&#1102;', '&#1103;', '&#1105;', '0');
return   
preg_replace ($search,$replace,$path);
} 
$html_text = "АБВГД"; 
print 
replace_cyr($html_text); 
?> 

Прошу сказать что означает это (что собственно делает это) :

"'0'e"
'0'

в концах массивов?

  Ответить  
 
 автор: Trianon   (22.04.2010 в 13:42)   письмо автору
 
   для: makigo   (22.04.2010 в 13:33)
 

нашли - положите на место. Код отвратный.
'0'e - шаблон с модификатором вычисляемого выражения замены '0'. Что в нем вычислять, правда, несовсем ясно. Нуль и в греции нуль.
Зачем? Кодеру выпендриться захотелось, не иначе.

  Ответить  
 
 автор: makigo   (22.04.2010 в 14:11)   письмо автору
 
   для: Trianon   (22.04.2010 в 13:42)
 

Я искал как можно реализовать preg_replace для замены этих символов.:

:: на &#58;&#58;
" на &#34;
' на &#39;
\r\n на <br>
< на &lt;
и т.д.

Дело в том что учусь записать данные в файл.

a::b::c::
d::e::f::
и т.д.

А запись в виде :: недопустим.

  Ответить  
 
 автор: Trianon   (22.04.2010 в 14:20)   письмо автору
 
   для: makigo   (22.04.2010 в 14:11)
 

>Дело в том что учусь записать данные в файл.
>a::b::c::
>d::e::f::

кто ж заставляет писать их именно так?

Такой способ хорош для того, у кого совершенно однозначно никаких :: в строках данных не будет ни при каких обстоятельствах.

Сперва выбрать странный способ - потом на уши вставать, чтобы его применить.

  Ответить  
 
 автор: makigo   (22.04.2010 в 14:28)   письмо автору
 
   для: Trianon   (22.04.2010 в 14:20)
 

Ну а что Вы посоветуйте?
А по поводу Enter что делать (ведь при переходе строки (Enter) в форме текущая строка при записи из формы переместится вниз), а я читаю баззу по строкам... Надо ведь подумать об \r\n.

  Ответить  
 
 автор: Trianon   (22.04.2010 в 14:39)   письмо автору
 
   для: makigo   (22.04.2010 в 14:28)
 

>ведь при переходе строки (Enter) в форме текущая строка при записи из формы переместится вниз), а я читаю баззу по строкам...

Вот этой мысли не понял. Какую базу?
У Вас файл вроде.

>Надо ведь подумать об \r\n.
Несомненно.

>Ну а что Вы посоветуйте?
Тут два варианта. Либо читать не по строкам, а блоками, либо придумывать схему экранирования всех символов, конфликтующих со служебными.
По второму варианту - не так давно тема поднималась в разделе "Задачи". Номер 2, если мне память не изменяет.
Было много споров. Некоторые не выжили. Свои мысли я изложил там.

  Ответить  
 
 автор: makigo   (22.04.2010 в 14:43)   письмо автору
 
   для: Trianon   (22.04.2010 в 14:39)
 

Да текстовый файл.
Спасибо большое!

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

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