Просмотр полной версии : Многострочный текст в запросе http
Нужно передать сценарию (из Delphi) запрос из Memo1.Text. Когда запрос из одной строки, все проходит на ура, но когда появляется символ перевода каретки (#13#10), ничего не получается передать в форму, так как, насколько видно в Odisseus,строка запроса рвется на переводе строки. Насколько понимаю, в Memo1.Text нужно заменить все символы #13#10 (перевод каретки) на код html (c %). Подскажите, плиз, какой код в html будет переводить строку, и как наиболее удобно, заменить в строке подстроки A на подстроки B. То есть, одной функцией, поменять в string все переводы каретки на html коды
Заранее спасибо.
%0d%0a - аналог 13,10 в HTML
А менять надо не только эти, а все спецсимволы на их HTML-коды.
Вот кстати накатал функцию
function replacestr(const s, srch, replace: string): string;
var
i : integer;
source: string;
begin
source:= s;
result:= '';
repeat
i:=pos(srch, source);
if i > 0 then begin
result := result + copy(source,1,i-1) + replace;
source := copy (source,i+length(srch),maxint);
end
else
result := result + source;
until i<=0;
end;
Может кому еще пригодится
А менять надо не только эти, а все спецсимволы на их HTML-коды.
А есть готовые функции для обработки?
А есть готовые функции для обработки?
если я не ошибаюсь, в винде есть апишка для кодирования строки по принципу urlencode.
Вот так перевод уже нормально работает.
А какие еще символы нужно заменять?
Все спецсимволы желательно, такие как:
&, =, пробел, 0x0A, 0x0D, русские буквы и многое другое.
Короче введи текст в адресной строке браузера и посмотри, как он его закодирует. Надо так же
русские буквы
Кстати, с русскими буквами, почему-то проблем нет.
function HTTPTran(St : String) : String;
var i : Integer;
begin
Result:='';
for i:=1 to length(St) do
if St[i] in ['a'..'z','A'..'Z','0','1'..'9'] then
Result:=Result+St[i]
else if St[i]=' ' then
Result:=Result+'+'
else
Result:=Result+'%'+IntToHex(Byte(St[i]),2);
end;
Вот что нашел. Вроде похоже. Буду пробовать.
Во. Нормальная функция) Юзай её
vBulletin® v3.8.14, Copyright ©2000-2026, vBulletin Solutions, Inc. Перевод: zCarot