|
#1
|
||||
|
||||
Ссылки в Memo
Здравствуйте! Есть в Memo исходник html-страницы. Нужно все ссылки, которые есть в Memo1 вывести отдельно, в Memo2. Делаю вот так:
Код:
var i: integer; begin for I := 0 to Memo1.Lines.Count - 1 do begin while Pos('<a href="',Memo1.Lines.Strings[i])<>0 do begin Memo2.Lines.Add(Copy(Memo1.Lines.Strings[i],Pos('<a href="',Memo1.Lines.Strings[i])+9,Pos('"',Memo1.Lines.Strings[i])-2)); end; Memo1.Lines.Delete(i); end; end; Подскажите, в чем проблема??? Последний раз редактировалось adidas, 30.08.2010 в 19:06. |
#2
|
|||
|
|||
Проблема в том, что в данном случае функция POS не подходит.
Ну и, например, если в одной строке 2 или более ссылок, то тоже данный код будет работать неправильно. Да и еще цикл FOR упадет. Рекомендации: 1. Взять текст как строку из Memo1.Lines.Text 2. Пользовать функцию PosEx. |
#4
|
||||
|
||||
Спасибо, но не все ссылки полностью выводит
Добавлено Вроде, это: Код:
rege.Expression:='(http|ftp)://([\w.]+)/([\w\?\+=\-\.\\]+)'; Код:
rege.Expression:='(http|ftp)://([\w.]+)/([\w\?\+=\-\\/\.\\]+)'; Последний раз редактировалось adidas, 31.08.2010 в 00:22. |
#5
|
||||
|
||||
Цитата:
Не твори зла, и жизнь повернется к тебе передом |