Фильтр Тэгов, есть текст с тэгами. их надо убрать |
Здравствуйте, гость ( Вход | Регистрация )
Фильтр Тэгов, есть текст с тэгами. их надо убрать |
2.3.2009, 13:56
Сообщение
#1
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
я както тут скачал замечательный скрипт AscIIArtBot и переписал его под собственные нужды.
теперь у меня такая трабла. те текстовые файлы что у меня есть содержат html тэги. можете ли Вы привести пример кода который будет фильровать теги и заменять их на их текстовый аналог(<br> на знак новой строки и т.п.)?? |
|
|
2.3.2009, 14:03
Сообщение
#2
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
Код msg = msg:gsub("<br>", "\n")
|
|
|
2.3.2009, 14:05
Сообщение
#3
|
|
Местный Группа: Неактивированные Сообщений: 908 Регистрация: 26.12.2008 Пользователь №: 1 574 Спасибо сказали: 1406 раз |
Код HTML = {["<br>"] = "\n", ["<br />"] = "\n", ["<br>"] = "\n", ["""] = "\"", ["<"] = "<", [">"] = ">"}
function ReplaceTags(data) for i in pairs(HTML) do data=string.gsub(data,i,HTML[i]); end return data end |
|
|
2.3.2009, 15:06
Сообщение
#4
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
спасибо)
как засунуть сюда? Код function ChatArrival(user,data) Core.GetUserAllData(user) data=string.sub(data,1,string.len(data)-1) if( string.sub(data, 1, 1) == "<" ) then s,e,cmd = string.find(data,"%b<>%s+(%S+)") cmd = string.sub(cmd, 2,string.len(cmd)) if io.open(CDFolder.."/"..cmd..".txt",r) ~= nil then showtext(user, cmd) return true end end end function showtext(user, file) local contents ="\r\n\r\n" for line in io.lines(CDFolder.."/"..file..".txt") do contents = contents..line.."\r\n" end --Core.SendToAll(user.sNick.."\r\n"..contents.."\r\n|") Core.SendPmToNick(user.sNick,Bot,contents) end текст который берётся не является html документом. просто текст с тэгами. |
|
|
2.3.2009, 15:36
Сообщение
#5
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
почитай гденибудь что такое функции в языках! если не разберёшься то с программированием можно завязывать!
если вкратце то саму фукцию вставляем в любое место скрипта а вызов функции осуществляется по имени функции в твоём случае Код ReplaceTags(contents) надеюсь место вставки сам додумаешь)))) + эта функция никак не связанна с html она просто заменяет одни символы на другие(в твоём же случае html-теги) |
|
|
2.3.2009, 17:06
Сообщение
#6
|
|
Освоившийся участник Группа: Пользователи Сообщений: 314 Регистрация: 13.10.2008 Пользователь №: 791 Спасибо сказали: 9 раз |
спасибо Алекс82 и Маринеру! буду биться лбом об ваши ступни!
сделал так Код function showtext(user, file) local contents ="\r\n\r\n" for line in io.lines(CDFolder.."/"..file..".txt") do contents = ReplaceTags(contents..line.."\r\n") end Core.SendPmToNick(user.sNick,Bot,contents) end тему можно закрыть |
|
|
2.3.2009, 17:38
Сообщение
#7
|
|
Самый главный активист :-D Группа: Модераторы Сообщений: 2 790 Регистрация: 29.6.2008 Из: г. Тула Пользователь №: 97 Спасибо сказали: 440 раз |
Думаю оптимальнее будет так
Код function showtext(user, file) local contents ="\r\n\r\n" for line in io.lines(CDFolder.."/"..file..".txt") do contents = contents..line.."\r\n" end contents = ReplaceTags(contents) Core.SendPmToNick(user.sNick,Bot,contents) end + мой ник по русски Воринер(ну можно и Варинер).... |
|
|
2.3.2009, 17:54
Сообщение
#8
|
|
RusHub team lead Группа: Модераторы Сообщений: 4 030 Регистрация: 20.6.2008 Из: г. Королёв (Моск. обл.) Пользователь №: 46 Спасибо сказали: 1708 раз |
Оптимальнее не использовать цикл, а открыть файл и считать файл полностью:
Код function showtext(user, file)
local contents, f ="\r\n\r\n", io.open(CDFolder.."/"..file..".txt") if f then contents = contents..f:read('*a') end contents = ReplaceTags(contents) Core.SendPmToNick(user.sNick,Bot,contents) end |
|
|
Похожие темы
Тема | Ответов | Автор | Просмотров | Последнее сообщение | |
---|---|---|---|---|---|
Фильтр чата. ChatFilter Версия 1.0 | Замена мата или рекламы на разные фразы. |
2 | Infinity_Love | 7 794 | 22.12.2010, 23:32 Посл. сообщение: Infinity_Love | |
Фильтр команды Помогите дописать скрипт |
11 | foXDEvil | 13 538 | 7.10.2010, 6:00 Посл. сообщение: foXDEvil | |
Фильтр команды Помогите дописать скрипт |
0 | foXDEvil | 0 | 5.10.2010, 12:05 Посл. сообщение: foXDEvil |
|
Сейчас: 27.11.2024, 1:10 |