IPB
ЛогинПароль:

> Прочтите прежде чем задавать вопрос!

1. Заголовок темы должен быть информативным. В противном случае тема удаляется ...
2. Все тексты программ должны помещаться в теги [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ", если там не нашли ответа, воспользуйтесь ПОИСКОМ, возможно такую задачу уже решали!
4. Не предлагайте свои решения на других языках, кроме Паскаля (исключение - только с согласия модератора).
5. НЕ используйте форум для личного общения, все что не относится к обсуждению темы - на PM!
6. Одна тема - один вопрос (задача)
7. Проверяйте программы перед тем, как разместить их на форуме!!!
8. Спрашивайте и отвечайте четко и по существу!!!

> Html, как вырезать тэги?
$ad!st
сообщение 16.04.2005 23:48
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской

Репутация: -  0  +


есть текстовый файл, в нём всякая муть включая ХТМЛ тэги, вот мне надо в другой файл переписать всё кроме тэгов т.е. то что в <> скобках...
я незнаю как поставить условие...
for i=0 to 99999 do //читаю строки
readln(F, S);
if S=<*> then...(вот как написать что всё кроме <*> тэгов зписывать незнаю).


--------------------
когда в руках молоток, все кажутся гвоздями
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов(1 - 6)
volvo
сообщение 16.04.2005 23:56
Сообщение #2


Гость






Ну, так тебе надо из строки удалить все, что между "<" и ">", а потом записывать всю строку в другой файл... Делается точно так же, как и в Паскале (хочешь, я тему туда перенесу?)

...
Readln(f, s);
repeat
 p_start := Pos('<', s);
 if p_start > 0 then begin
   p_end := pos('>', s);
   delete(s, p_start, p_end - p_start);
 end;
until p_start = 0;
writeln(f_2, s);
...
Только посмотри внимательнее, я мог где-нибудь с индексами ошибиться... Поздно уже smile.gif Но алгоритм такой...
 К началу страницы 
+ Ответить 
$ad!st
сообщение 17.04.2005 1:05
Сообщение #3


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской

Репутация: -  0  +


спасибо за совет....мне всёравно переносить тему в раздел паскаль или нет....как хочешь


--------------------
когда в руках молоток, все кажутся гвоздями
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 17.04.2005 23:43
Сообщение #4


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Эффективнее так:

Код

...
var
 fi, fo: Text;
 c: Char;
 t: Boolean;
...
t := True;
while not Eof(fi) do
 begin
   Read(fi, c);
   if c = '<' then t := False;
   if t then Write(fo, c);
   if c = '>' then t := True;
 end;
...


Сообщение отредактировано: xds - 17.04.2005 23:45


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
Altair
сообщение 18.04.2005 6:17
Сообщение #5


Ищущий истину
******

Группа: Модераторы
Сообщений: 4 824
Пол: Мужской
Реальное имя: Олег

Репутация: -  45  +


А если в тексте HTML будет нечто подобное?
HTML
<html>
<head> <title> Proga </title> </head>
<body>
<pre>
var
a,c:byte;
begin
if (a>c) or (a<c) then writeln('test'); {!!!!!!!!!!!!!!!!!!!!!!!!!!}
end.
</pre>
</body>
</html>

То есть символы < и\или > не явл. тегами?


--------------------
Помогая друг другу, мы справимся с любыми трудностями!
"Не опускать крылья!" (С)
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
$ad!st
сообщение 18.04.2005 10:45
Сообщение #6


Новичок
*

Группа: Пользователи
Сообщений: 36
Пол: Мужской

Репутация: -  0  +


Цитата(volvo @ 16.04.05 23:56)
Только посмотри внимательнее, я мог где-нибудь с индексами ошибиться... Поздно уже  smile.gif Но алгоритм такой...
ага...ошибся...вт как надо

 repeat
   p_start := Pos('<', s);
   if p_start > 0 then begin
   p_end := pos('>', s);
   delete(s, p_start, p_end - p_start+1);
 end;
 until p_start = 0;
   writeln(F2, s);


--------------------
когда в руках молоток, все кажутся гвоздями
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
xds
сообщение 18.04.2005 15:25
Сообщение #7


N337
****

Группа: Пользователи
Сообщений: 737
Пол: Мужской

Репутация: -  26  +


Как известно, в HTML символы "<" и ">" должны быть заменены на "&lt;" и "&gt;" соответственно (даже внутри <pre>). В противном случае HTML-код является ошибочным и его дальнейшая интерпретация основывается на "догадках" браузера.


--------------------
The idiots are winning.
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.07.2025 18:06
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"