Какие команды в VB соответсвуют escape и unescape?Я идиот! Убейте меня, кто-нибудь!?

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Какие команды в VB соответсвуют escape и unescape?Я идиот! Убейте меня, кто-нибудь!?

Сообщение natcap » 31.08.2003 (Вс) 19:01

Какие команды в VB соответсвуют escape и unescape?Я идиот! Убейте меня, кто-нибудь!?
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

_NeoN_
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 178
Зарегистрирован: 14.08.2003 (Чт) 9:48
Откуда: Новосибирск

Сообщение _NeoN_ » 31.08.2003 (Вс) 19:05

можно поподробнее что это за escape и unescape такие??

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 31.08.2003 (Вс) 22:16

Работа escape: "<" = "& lt;", ">"="& gt;" (без пробелов)
работа unescape - наоборот
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 01.09.2003 (Пн) 11:03

А с чего бы это VB поддерживал бы escape-последовательности? Это же не коммандный язык и не браузер. Ему этого не нужно. Пользуйся Replace() и не заморачивайся.

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 01.09.2003 (Пн) 11:09

не.. Реплайс это редкостный геморой получится :)))
Я уже придумала :)
doc.body.innerText=doc.body.InnerHTML
myText=doc.body.InnerHTML

В результате то, что мне надо :)
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 01.09.2003 (Пн) 11:14

Красиво!

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 01.09.2003 (Пн) 11:24

Это издевка или серьезно?

Только вот теперь проблема.. это все помещается в ХМЛ а потом при помощи ХСЛ надо возвратить все в первозданный вид.. а вот с этим проблема :(
не знаю как сделать Unescape из под ХСЛ... но это уже вопрос не сюда.. правда и на форуме по ХМЛ помочь не могут :(
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 01.09.2003 (Пн) 11:41

natcap писал(а):Это издевка или серьезно?

Серьёзно. Красивое решение в случае, если в программе контрол используется и для других целей. Если же нет, то таскать контрол только для правильной конвертации неразумно.

natcap писал(а):Только вот теперь проблема.. это все помещается в ХМЛ а потом при помощи ХСЛ надо возвратить все в первозданный вид.. а вот с этим проблема :(

А в чём проблема? Если используешь объектную модель XML, то присваивай напрямую, XML сам разберётся как закодировать. А чтобы XSL отбражал не как текст, а как HTML, используй атрибут disable-output-escaping="yes"

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 01.09.2003 (Пн) 12:38

Нет конечно :) Он у меня можно сказать программообразующий :))
А вот disable-output-escaping="yes" почему-то как мертвому припарка - он у меня изначально стоял..... получаю на странице ввиде текста прелестный ШТМЛ код...

Толкьо вот я пришла к выводу, что редкостный тормоз и что вредно спать по 2-3 часа в сутки... мозги не видят очевидных вещей.. я же парсю не сразу в ШТМЛ, а опять же с промежуточной обработкой в ВБ :))) Так что им возвращать и буду :)))
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 01.09.2003 (Пн) 13:52

Токмо что из вредности проверил. Всё работает на "ура".

test.asp
Код: Выделить всё
<%@ LANGUAGE=VBScript %>
<%
Option Explicit

Call test()

Function test()

   Dim oXMLDoc 'As MSXML.DOMDocument
   Dim oXSLDoc 'As MSXML.DOMDocument
   Dim html 'As String

   html = "<p>paragraph</p><br><div style='color: red'>block (color: red)</div>"

   'First, create the XML Document
   Set oXMLDoc = Server.CreateObject("MSXML.DOMDocument")
   With oXMLDoc
      .async = False
      .AppendChild(.CreateElement("test")).text = html
   End With

   'Now Load the XSL Document
   Set oXSLDoc = Server.CreateObject("MSXML.DOMDocument")
   With oXSLDoc
      .async = False
      .Load Server.MapPath("test.xsl")
   End With

   'Now simply transform the XML/XSL files into HTML
   html = oXMLDoc.transformNode(oXSLDoc)

   Response.Write html

End Function
%>


test.xsl
Код: Выделить всё
<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="test"><xsl:value-of disable-output-escaping="yes" select="."/></xsl:template>

</xsl:stylesheet>

natcap
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 234
Зарегистрирован: 25.06.2003 (Ср) 13:15
Откуда: Москва

Сообщение natcap » 01.09.2003 (Пн) 14:26

Если честно не очень поняла, что должно происходить - АСП как-то не очень..
Вот ХМЛ

<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type="text/xsl" href="main.xsl" ?>
<main>
<lang id="a1" name="Main"><![CDATA[unescape("&P&1&/P&&P&lllllll&STRONG&&EM&&STRIKE&&U&ljgjkgkj&/U&&/STRIKE&&/EM&&/STRONG&jk&BR&;l'l;l';l'l';l;'&/P&&P&kklkl&/P&")]]></lang>
</main>


main.xsl

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<div id='aatempaa'><div id='text_div' edit='this_page' style='height: 100%; border: 1px dotted Black;' contentEditable='true' designMode='On'><xsl:value-of select='*' disable-output-escaping="yes"/></div></div>
</xsl:template>
</xsl:stylesheet>

Результат можно сказать на лице :(
Вложения
mySimple.zip
Вот... не знаю я как сделать чтоб спецсимволы нормально тут показывал.. оба файла в архиве.
(698 байт) Скачиваний: 31
Медленно переезжаю с 6.0 на 2008 .... задавая тонны глупых вопросов :)

skiperski
Идеолог
Идеолог
Аватара пользователя
 
Сообщения: 1386
Зарегистрирован: 25.06.2002 (Вт) 15:52

Сообщение skiperski » 01.09.2003 (Пн) 14:40

Если используешь CDATA, то кодировать уже не нужно. Кодируешь только в простом тэге
Код: Выделить всё
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type="text/xsl" href="main.xsl" ?>
<main>
   <lang id="a1" name="Main">
      <![CDATA[
         <P>1</P><P>lllllll<STRONG><EM><STRIKE><U>ljgjkgkj</U></STRIKE></EM></STRONG>jk<BR>;l'l;l';l'l';l;'</P><P>kklkl</P>
      ]]>
   </lang>

   <lang id="a1" name="Main">&lt;P&gt;1&lt;/P&gt;&lt;P&gt;lllllll&lt;STRONG&gt;&lt;EM&gt;&lt;STRIKE&gt;&lt;U&gt;ljgjkgkj&lt;/U&gt;&lt;/STRIKE&gt;&lt;/EM&gt;&lt;/STRONG&gt;jk&lt;BR&gt;;l'l;l';l'l';l;'&lt;/P&gt;&lt;P&gt;kklkl&lt;/P&gt;</lang>

</main>


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, SemrushBot, Yandex-бот и гости: 20

    TopList