parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Странная ситуация с replace

VRuzin 11.10.2006 08:14

Когда перекодировал escape символы таблицей в JSHttpRequest.p, получилась такая ситуация. я прописал команду ^untaint[js]{$z} где $z - строка после реплейса (в ней есть переводы строки). Так вот эти переводы не преобразовались в \n

Вот я и решил спросить почему такая фишка и как её избежать...

в качестве примера, я привожу код, где в $z написан код предложения. в $z1 - это же предложение в нормальном человеческом виде. Вот и получается, что после перекодирования строки должны получится одинаковыми, но почему-то это не так.

Вернее, может так оно и должно быть, но мне нужно получить на выходе равные строки.
$z[%27%u0428%u043B%u0430%27%20%u0421%u0430%u0448%u0430%20%u043F%u043E%0D%0A%u0448%u043E%u0441%u0441%u0435%20%u0438%20%u0441%u043E%u0441%u0430%u043B%u0430%20%22%u0441%u0443%u0448%u043A%u0443%22]
$z[^z.replace[^_getDecodeTable[]]]
$z1['Шла' Саша по
шоссе и сосала "сушку"]
#$z[^z.replace[$js]]
^if($z eq $z1){Строки равны}{Строки не равны}
<textarea style="width:100%^;height:200px">^taint[js][$z]</textarea>
<textarea style="width:100%^;height:200px">^taint[js][$z1]</textarea>

@_getDecodeTable[]
$result[^table::create{from	to
%u2116	№
%u0430	а
%u0431	б
%u0432	в
%u0433	г
%u0434	д
%u0435	е
%u0451	ё
%u0436	ж
%u0437	з
%u0438	и
%u0439	й
%u043A	к
%u043B	л
%u043C	м
%u043D	н
%u043E	о
%u043F	п
%u0440	р
%u0441	с
%u0442	т
%u0443	у
%u0444	ф
%u0445	х
%u0446	ц
%u0447	ч
%u0448	ш
%u0449	щ
%u044A	ъ
%u044B	ы
%u044C	ь
%u044D	э
%u044E	ю
%u044F	я
%u0410	А
%u0411	Б
%u0412	В
%u0413	Г
%u0414	Д
%u0415	Е
%u0401	Ё
%u0416	Ж
%u0417	З
%u0418	И
%u0419	Й
%u041A	К
%u041B	Л
%u041C	М
%u041D	Н
%u041E	О
%u041F	П
%u0420	Р
%u0421	С
%u0422	Т
%u0423	У
%u0424	Ф
%u0425	Х
%u0426	Ц
%u0427	Ч
%u0428	Ш
%u0429	Щ
%u042A	Ъ
%u042B	Ы
%u042C	Ь
%u042D	Э
%u042E	Ю
%u042F	Я
%20	^#20
%21	!
%22	"
%23	#
%24	^$
%25	%
%26	&
%27	'
%28	(
%29	)
%2B	+
%2C	,
%3A	:
%3B	^;
%3C	<
%3D	=
%3E	>
%3F	?
%5B	^[
%5C	\
%5D	^]
%5E	^^
%60	`
%7B	^{
%7C	|
%7D	^}
%7E	~
%0D	^#0D
%0A	^#0A
%09	^#09
}]