Имя пользователя:
Пароль:
 | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Заменить один тег на другой html

Ответить
Настройки темы
[решено] Заменить один тег на другой html

Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7


Конфигурация

Профиль | Отправить PM | Цитировать


Изменения
Автор: Pavluha
Дата: 06-05-2012
Здравствуйте. Мне нужно в html коде заменить тег
HTML код: Выделить весь код
<span style="font-weight: bold;">текст</span>

(их может быть несколько) на
HTML код: Выделить весь код
<b>текст</b>

Проблема в том, что тегов span в документе очень много: у меня не получается найти закрывающий тег (так как они очень часто влаживаются один в другой). Помогите, пожалуйста.

Отправлено: 13:03, 06-05-2012

 

Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Цитата Creat0R:
Зачем что-то придумывать?
Я дал рабочий вариант, если нет хотя бы куска кода который показывает обратно, то не имеет смысла дальше что либо делать. »
вы увидите насколько он рабочий, если
HTML код: Выделить весь код
$vTest = 'some code <span style="align: center;"><span style="font-weight: bold;"><span style="font-weight: italic;">included span content other span content</span></span></span>'

приблизительно такой код был на сайте.

Creat0R, доделайте мой код, пожалуйста, и тема будет решена.

Отправлено: 18:00, 07-05-2012 | #11



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

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


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pavluha:
вы увидите насколько он рабочий, если »
Ну так тут совсем другие условия, тут есть align, также тут не кавычек у параметров.

Вот рабочий вариант:

Код: Выделить весь код
$vTest = 'some code <span align=center><span style="font-weight: bold;"><span style="font-weight: italic;">included span content other span content</span></span></span>'

While 1
    $vTest = StringRegExpReplace($vTest, '<span style="?[^">]*"?>(.*?)</span>', '<b>\1</b>')
    If @extended = 0 Then ExitLoop
WEnd

ConsoleWrite($vTest & @LF)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Последний раз редактировалось Creat0R, 07-05-2012 в 18:29.


Отправлено: 18:12, 07-05-2012 | #12


Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Creat0R, вы не понимаете. мне нужно заменить только тег <span style="font-weight: bold;"> , а остальные не трогать.

Вообще, доделайте мой скрипт, и всё будет норм. Мне будет достаточно для моих манипуляций с тегами.

Отправлено: 18:25, 07-05-2012 | #13


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pavluha:
вы не понимаете. мне нужно заменить только тег <span style="font-weight: bold;"> , а остальные не трогать. »
А вы бы объясняли лучше, тогда может и пойму.
Поправил код.

Цитата Pavluha:
доделайте мой скрипт, и всё будет норм. »
Там нечего доделывать, т.к код неверный, как в принципе и сам алгоритм. Для таких задач используются рег. выражения.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 18:31, 07-05-2012 | #14


Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Pavluha, это Вы не понимаете, что работа regexp'ов критично зависит от исходного материала. Надо сразу озвучивать условия техзадания целиком и полностью, а не в час по чайной ложке.

Отправлено: 18:32, 07-05-2012 | #15


Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Creat0R, Iska, что тут не понятного? просто найти тег <span style="font-weight: bold;">text</span> и заменить его на <b>text</b>.

ТОЛЬКО тег <span style="font-weight: bold;"> , а не все спаны

Последний раз редактировалось Pavluha, 07-05-2012 в 18:45.


Отправлено: 18:38, 07-05-2012 | #16


Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Creat0R, что вам стоит доделать мой алгоритм. Мне и его будет достаточно.

Отправлено: 19:37, 07-05-2012 | #17


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pavluha:
что тут не понятного? »
А что непонятного в том что я пишу?
Мой последний код не работает?

Цитата Pavluha:
что вам стоит доделать мой алгоритм »
Зачем новый велосипед делать, есть уже инструменты для этой задачи.

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 00:23, 08-05-2012 | #18


Аватара для Pavluha

Старожил


Сообщения: 165
Благодарности: 7

Профиль | Отправить PM | Цитировать


Creat0R, читайте полностью что я пишу: ваш скрипт все теги спан, у которых есть параметр стиль, заменяет на б. А мне нужно, чтобы заменяло только этот тег со стилем font-weight: bold; . Неужнли не понятно?

Отправлено: 14:58, 08-05-2012 | #19


Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Цитата Pavluha:
ваш скрипт все теги спан, у которых есть параметр стиль, заменяет на б. А мне нужно, чтобы заменяло только этот тег со стилем font-weight: bold; »
Нужно было так и написать в первом сообщении.

Код: Выделить весь код
$vTest = 'some code <span align=center><span style="font-weight: bold;"><span style="font-weight: italic;">included span content other span content</span></span></span>'

$iOccurrense = -1

While 1
	$iStartPos = StringInStr($vTest, '<span ', 0, $iOccurrense)
	If Not $iStartPos Then ExitLoop
	
	$iClosePos = StringInStr($vTest, '</span>', 0, -$iOccurrense, $iStartPos - 1)
	$sTmp = StringMid($vTest, $iStartPos, $iClosePos - $iStartPos + 7)
	
	$vTest = StringReplace($vTest, $sTmp, StringRegExpReplace($sTmp, '<span style="font-weight: bold;">(.*)</span>', '<b>\1</b>', 1), 1)
	$iOccurrense -= 1
WEnd

ConsoleWrite($vTest & @LF)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community

Это сообщение посчитали полезным следующие участники:

Отправлено: 21:37, 08-05-2012 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [решено] Заменить один тег на другой html

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Как заменить стандартный блокнот другой программой? vanillapink Microsoft Windows 7 35 19-12-2016 13:12
[решено] html|Тег <pre> выводит в одну строку morgan1991 Вебмастеру 2 09-03-2010 13:38
Windows Server: заменить два SATA диска (RAID 1 на на PCI контроллере) на один IDE gunwitch Microsoft Windows NT/2000/2003 8 17-03-2008 15:55
Один видит, другой - нет monokius Сетевые технологии 4 09-11-2005 16:09
Помогите найти HTML тег. Pavel88 Вебмастеру 2 09-11-2002 11:19




 
Переход