![]() |
Составить регулярное выражение Delphi > TRegExpr
День добрый!
Как правильно составить регулярное выражение чтобы получить из следующих строк кодировку UTF-8 <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta charset="UTF-8" /> <meta charset="UTF-8"> <meta http-equiv="Content-Type" charset=UTF-8" /> используется Delphi > TRegExpr спасибо! |
Документация на странице http://regexpstudio.com/TRegExpr/Help/About.html
Для замены подстроки или символа на другой символ используется метод класса Substitute. Кодовая таблица для кодировки UTF-8 : http://www.unicodetools.com/unicode/codepage-utf8.php Вам нужно перекодировать UTF-8 в ASCII или ASCII в UTF-8 ? Для встречающихся в данных строках символов ASCII и UTF-8 тождественны, т.е. перекодировка может не требоваться. |
нужно спарсить с произвольной html страницы установленную в её метатегах кодировку
один из вариантов: Expression:= '<meta(.*)charset=(.*)"(\s*/?)>'; но он работает до тех пор пока в 1 строка = 1 метатег. т.е. если строки склеены то работает некорректно, например <meta name="KEYWORDS" content="фото объектов с мягкой черепицей, страница 2, Москва, Shinglas" /><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></meta><meta name="DESCRIPTION" content="В данном разделе сайта компании представлены фото объектов с мягкой черепицей Shinglas, страница 2." /></meta> |
Попробуйте регулярку такого вида
Код:
(<meta?).*?charset=(.*?)\" Код:
/charset=(.*?)\"/ Код:
$str="<meta name=\"KEYWORDS\" content=\"фото объектов с мягкой черепицей, страница 2, Москва, Shinglas\" \/><meta http-equiv= \"Content-Type\" content=\"text\/html; charset=utf-8\"><\/meta><meta name=\"DESCRIPTION\" content=\"В данном разделе сайта компании представлены фото объектов с мягкой черепицей Shinglas, страница 2.\" \/><\/meta>"; |
спасибо!
а можно составить одну регулярку так чтобы бралось значение TITLE из следующих вариантов строк: <TITLE>НАЗВАНИЕ</TITLE> <meta name="title" content="НАЗВАНИЕ"> |
Возможно так
Код:
<title>(.*?)< Код:
<meta.*?title.*?content=\"(.*?)\" |
Время: 21:20. |
Время: 21:20.
© OSzone.net 2001-