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