Страница 1 из 1

Добавлено: 23 Июль 2004, 12:01
Гость
Привет!

Есть класс, реализующий интерфейс IRegExp. Научите им пользоваться...
Необходимо в тексте выражение

Код: Выделить всё

<IMG SRC="path/image.gif">

заменить на

Код: Выделить всё

<IMG SRC="blank.gif">
.

Алексей,
начальник отдела ПТО
ООО "ОРК"
mail: alex@jrcn.donetsk.ua, icq: 62605472
www: http://www.nikasoft.co.uk
http://www.clarionline.h1.ru (FAQ-онлайн)
origin: C00K! Выпусти тесак из pук!

Примерно так, наверно:

Код: Выделить всё

Global=true
IgnoreCase=true
Pattern='<IMG SRC="(path/image.gif)">'
Replace(source,'blank.gif')
С уважением, Михаил

Виноват,

Код: Выделить всё

Pattern='<IMG SRC="(path/image\.gif)">'
С уважением, Михаил
Написал: ClaList(2)

Добавлено: 23 Июль 2004, 14:43
Гость
Привет, Дуга Михаил!
Примерно так, наверно:
Так примерно или наверно? :)
Во-первых, path может быть любым, например:

images
/images
../images

image.gif тоже...

pircture.gif
littlepicture.jpg

т.е. уже твой патерн не работает... :)

Максим Емельянов предлоджил такой вариант (но это на перле):

Код: Выделить всё

$html =~ s{(<img [^>]+ src=["'])(.*[/\\])([^"']+)(["'] [^>]*>)}{$1$3$4}gisx
Подойдет ли єто віражение как патерн?

Код: Выделить всё

Global=true
IgnoreCase=true
Pattern='<IMG SRC="(path/image.gif)">'
Replace(source,'blank.gif')

Описание членов/методов класса можно получить?

Алексей
Подойдет ли єто віражение как патерн?
Можно так попробовать:

Код: Выделить всё

'<<img\s+src="(.*)">'
Описание членов/методов класса можно получить?
из той же MSDN, т.к. методы класса реализуют одноименные методы интерфейса

Дуга Михаил

MSDN, поиск IRegExp - результат отрицательный.

Алексей

(Добавление)

Вот тут (MSDN July 2001):
"Platform SDK Documentation"->"Tools and Scripting"->"Scripting"->"VBScript"->"Reference"->"Objects and Collections"->
"Regular Expression Object"

К сожалению, моё письмо в личное мыло вернулось, повторю тут:
Решил воспользоваться твоим классом, но во-первых получил ошибку "скомпилено не втой версии" (у меня 6.1CR6). Можно перекомпилировать или прислать исходники? И вообще как работать с классом?
Возьми в examples от easycom2inc последний релиз, там всё в исходниках

С уважением, Михаил
Написал: ClaList(2)

Добавлено: 23 Июль 2004, 17:37
Гость

Код: Выделить всё

$html =~ s{(<img [^>]+ src=["'])(.*[/\\])([^"']+)(["'] [^>]*>)}{$1$3$4}gisx
еще правильнее было бы учесть отсутствие кавычек у src, к сожалению это встречается в html-ках даже для нечисловых параметров тегов.

Код: Выделить всё

   $html =~ s{
           (<img
             [^>]+             # другие параметры тега IMG
             src=(["'])?       # кавычки " или ' или их отсутствие
           )
           (.*/)?              # путь к картинке
           ([^"'>[:space:]]+)  # имя картинки
           (
             (?(2)["'])        # закрывающая кавычка, лишь если была открывающая
             [^>]*             # другие параметры тега IMG
             /?>               # окончание может быть > или />
           )
         }
         {
             $1blank.gif$5
         }gisx
--
Best regards,
Maxim Yemelyanov,
Enigma Soft Company
phone: +380 572 177977
WEB: http://enigmasoft.com.ua
e-mail: clalist@enigmasoft.com.ua
ICQ: 12253836

Написал: ClaList(2)