Работа с HTML.
Regexp.CDATA;
Regexp.SELF_CLOSING_TAG;
Regexp.OPEN_TAG;
Regexp.CLOSE_TAG;
Regexp.COMMENT;
Regexp.DOCTYPE;
Regexp.ENTITY_NAME;
Regexp.ENTITY_UNICODE;
Regexp.ENTITY_NUMERIC;
String text = "<!-- Комментарий -->"; Html html = new Html(text); html.isComment();
Результат выполнения:
true
String text = "≈"; Html html = new Html(text); html.isEntity();
Результат выполнения:
true
String text = "≈"; Html html = new Html(text); html.isEntityName();
Результат выполнения:
true
String text = "&38;"; Html html = new Html(text); html.isEntityNumeric();
Результат выполнения:
true
String text = "⋈"; Html html = new Html(text); html.isEntityUnicode();
Результат выполнения:
true
String text = "<!DOCTYPE html>"; Html html = new Html(text); html.isDoctype();
Результат выполнения:
true
String text = "<b class='xa-xa'>"; Html html = new Html(text); html.isTag();
Результат выполнения:
true
String text = "<input type='checkbox'>"; Html html = new Html(text); html.isOpenTag();
Результат выполнения:
true
String text = "<input type='checkbox' />"; Html html = new Html(text); html.isSelfClosingTag();
Результат выполнения:
true
String text = "</form>"; Html html = new Html(text); html.isCloseTag();
Результат выполнения:
true
String text = "<![CDATA[CDATA область]]>"; Html html = new Html(text); html.isCData();
Результат выполнения:
true
String text = """ Песня без слов, ночь без сна <!--Всё в свое время, зима и весна--> Каждой звезде свой неба кусок Каждому морю дождя глоток Каждому <!-- яблоку место упасть Каждому вору возможность украсть Каждой собаке палку и кость--> И каждому волку зубы и злость """; Html html = new Html(text); html.findComments();
Результат выполнения:
[ "<!--Всё в свое время, зима и весна-->", "<!-- яблоку место упасть\nКаждому вору возможность украсть\nКаждой собаке палку и кость-->" ]
String text = """ <![CDATA[Здесь не понятно, где лицо, а где рыло,]]> И не понятно, где пряник, где плеть. <![CDATA[Здесь в сено не втыкаются вилы, А рыба проходит сквозь сеть. И не ясно, где море, где суша, Где золото, а где медь.]]> Что построить, и что разрушить, И кому, и зачем здесь петь? """; Html html = new Html(text); html.findCData();
Результат выполнения:
[ "<![CDATA[Здесь не понятно, где лицо, а где рыло,]]>", "<![CDATA[Здесь в сено не втыкаются вилы,\nА рыба проходит сквозь сеть.\nИ не ясно, где море, где суша,\nГде золото, а где медь.]]>" ]
String text = """ Как много веселых ребят, И все делают ¼ велосипед, А один из них как-нибудь утром придумает порох. Ну а я здесь сижу ,без тебя,& Мне до этих ребят дела нет, Лишь окурки лежат на полу, да мусора ворох.© """; Html html = new Html(text); html.findEntities();
Результат выполнения:
[ "¼", "&", ",", "©" ]
String text = """ Как много веселых ребят, И все делают ¼ велосипед, А один из них как-нибудь утром придумает порох. Ну а я здесь сижу без тебя,& Мне до этих ребят дела нет, Лишь окурки лежат на полу, да мусора ворох. """; Html html = new Html(text); html.findEntitiesName();
Результат выполнения:
[ "¼", "&" ]
String text = """ В моем доме не видно стены, В моем небе ,не видно луны. Я слеп, но я вижу тебя, Я глух, но я слышу тебя. Я не сплю, © но я вижу сны, Здесь нет моей вины, Я нем, но ты слышишь меня, И этим мы сильны. """; Html html = new Html(text); html.findEntitiesNumeric();
Результат выполнения:
[ ",", "©" ]
String text = """ Ночь, день - Спать ⋈лень. Есть дым -≎ Чёрт с ним. Сна нет - Есть сон лет. Кино - Кончилось давно. """; Html html = new Html(text); html.findEntitiesUnicode();
Результат выполнения:
[ "⋈", "≎" ]
String text = """ <!DOCTYPE html>Они говорят: им нельзя рисковать, Потому что у них есть дом, В доме горит свет. И я не знаю точно, <!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'> кто из нас прав, Меня ждет на улице дождь, Их ждет дома обед. """; Html html = new Html(text); html.findDoctype();
Результат выполнения:
[ "<!DOCTYPE html>", "<!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Strict//EN'\n'http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd'>" ]
String text = """ Солдат шел по улице домой И <b>увидел этих ребят.</b > "Кто ваша мама, ребята?" - <meta charset='UTF-8'>Спросил у ребят солдат. """; Html html = new Html(text); html.findTags();
Результат выполнения:
[ "<b>", "</b >", "<meta charset='UTF-8'>" ]
String text = """ Солдат шел по улице домой И <b>увидел этих ребят. "Кто ваша мама, ребята?" - <meta charset='UTF-8'>Спросил у ребят солдат. """; Html html = new Html(text); html.findOpenTags();
Результат выполнения:
[ "<b>", "<meta charset='UTF-8'>" ]
String text = """ О-o, это странное место Камчатка, О-o, это сладкое</form> слово "Камчатка". Но на этой земле я не вижу тебя, Я не вижу твоих кораблей, Я не вижу реки, я не вижу моста, Ну и пусть...</b > """; Html html = new Html(text); html.findCloseTags();
Результат выполнения:
[ "</form>", "</b >" ] */
String text = """ У меня есть дом, только нет ключей, У меня есть солнце, но оно среди туч,<br/> Есть голова<meta charset='UTF-8'/>, только нет плечей, Но я вижу, как тучи режут солнечный луч. У меня есть слово, но в нем нет букв, У меня есть лес, но нет топоров, У меня есть время, но нет сил ждать, И есть еще ночь, но в ней нет снов. """; Html html = new Html(text); html.findSelfClosingTags();
Результат выполнения:
[ "<br/>", "<meta charset='UTF-8'/>" ]
String text = """ <html><!-- Комментарий --></html> <!-- Комментарий с переносом --> """; Html html = new Html(text); html.deleteComments();
Результат выполнения:
<html></html>
String text = """ <html> <![CDATA[x<y]]>Текст<![CDATA[ cdata -> text ]]> </html> """; Html html = new Html(text); html.deleteCData();
Результат выполнения:
<html> Текст </html>
String text = """ <!DOCTYPE html> <b><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"></b> """; Html html = new Html(text); html.deleteDoctype();
Результат выполнения:
<b></b>
String text = """ text <a href="/link" target='_blank'>ссылка</a> Текст """; Html html = new Html(text); html.deleteTag(Tag.A);
Результат выполнения:
text ссылка Текст
String text = """ text <a href="/link" target='_blank'>ссылка</a> Текст """; Html html = new Html(text); html.deleteTag(Tag.A, TagType.OPEN);
Результат выполнения:
text ссылка</a> Текст
String text = """ <b>text</b> <a href="/link" target='_blank'>ссылка</a> Текст <br/> """; Html html = new Html(text); html.deleteTags();
Результат выполнения:
text ссылка Текст
String text = """ <b>text</b> <a href="/link" target='_blank'>ссылка</a> Текст <br/> """; Html html = new Html(text); html.deleteTags(TagType.OPEN);
Результат выполнения:
text</b> ссылка</a> Текст <br/>
String text = """ <b>text</b> <a href="/link" target='_blank'>ссылка</a> Текст <br/> """; Html html = new Html(text); html.deleteTags(Set.of(Tag.BR));
Результат выполнения:
text ссылка Текст <br/>
String text = """ <b>text</b> <a href="/link" target='_blank'>ссылка</a> Текст <br/> """; Html html = new Html(text); html.deleteTags(TagType.OPEN, Set.of(Tag.B));
Результат выполнения:
<b>text</b> ссылка</a> Текст <br/>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.deleteEntity(Entity.LT);
Результат выполнения:
AC/DC переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.deleteEntity(Entity.LT, EntityType.NUMERIC);
Результат выполнения:
AC/DC <<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.deleteEntities();
Результат выполнения:
ACDC переменный токпостоянный ток
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.deleteEntities(Set.of(Entity.LT, Entity.GT));
Результат выполнения:
ACDC <<<переменный токпостоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>>; """; Html html = new Html(text); html.encodeEntity(Entity.LT, EntityType.NAME);
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>>; """; Html html = new Html(text); html.encodeEntities(EntityType.NAME);
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
Преобразование всех специальных символов в соответствующие HTML-сущности с указанием типа и исключений
String text = """ AC/DC <<<переменный ток/постоянный ток>>>; """; Html html = new Html(text); html.encodeEntities(EntityType.NAME, Set.of(Entity.GT));
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntity(Entity.GT);
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntity(Entity.GT, EntityType.NAME);
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntities();
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntities(EntityType.NAME);
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntities(Set.of(Entity.LT, Entity.GT));
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>
Преобразование всех HTML-сущностей в соответствующие специальные символы с указанием типа и исключений
String text = """ AC/DC <<<переменный ток/постоянный ток>>> """; Html html = new Html(text); html.decodeEntities(EntityType.NAME, Set.of(Entity.LT));
Результат выполнения:
AC/DC <<<переменный ток/постоянный ток>>>