Лучший способ выбрать переменный HTML-тэг

Удалена граница по умолчанию


и использует высоту и фон
hr {
  background: #469551;
  width: 30%;
  margin-left: auto;
  margin-right: auto;
  margin-bottom: 0px !important;
  height: 4px;
  border:none;
}

Пример: https://jsfiddle.net/Lc7gym88/1/

5
задан J0e3gan 13 December 2014 в 08:17
поделиться

8 ответов

Ответ: не используйте регулярные выражения.

Серьезно. Используйте синтаксический анализатор SGML или синтаксический анализатор XML, если Вы, оказывается, знаете, что это - допустимый XML (вероятно, почти никогда не верный). Вы абсолютно завинтите и потратите впустую уйму времени, пытающуюся разобраться в нем. Просто используйте то, что уже доступно.

14
ответ дан 18 December 2019 в 07:12
поделиться

Те различия не действительно важны согласно стандарту XHTML.

Другими словами, они - точно то же самое.

Кроме того, если бы Вы заменяете двойные кавычки одинарными кавычками, было бы то же.

Типичный способ 'нормализовать' xml документ состоит в том, чтобы сократить его с помощью некоторого API, который рассматривает документ как его представление Инфонабора. И DOM и API стиля SAX прокладывают себе путь.

Если Вы хотите проанализировать их вручную (или с RegEx) необходимо копировать все те вещи в коде и, по-моему, это не практично.

2
ответ дан 18 December 2019 в 07:12
поделиться

На самом деле необходимо, вероятно, использовать своего рода синтаксический анализатор HTML, где можно осмотреть каждый узел (и поэтому атрибуты узла) в DOM страницы. Я не использовал ни одного из них некоторое время, таким образом, я не знаю за и против, но вот является список http://java-source.net/open-source/html-parsers

3
ответ дан 18 December 2019 в 07:12
поделиться

Примечание: одинарные кавычки (даже никакие кавычки, если значение не содержит пространство) допустимы согласно спецификации HTML W3C. Кавычка:

По умолчанию SGML требует, чтобы все значения атрибута были разграничены с помощью любой двойные кавычки (десятичное число ASCII 34) или одинарные кавычки (десятичное число ASCII 39)... В определенных случаях авторы могут указать значение атрибута без любых кавычек.

Кроме того, не забывайте, что порядок атрибутов может быть инвертирован и что другие атрибуты могут появиться в теге.

2
ответ дан 18 December 2019 в 07:12
поделиться

Можно хотеть дать HTMLEditorKit Java выстрел. Легко экспериментировать с видеть, обеспечивает ли парсинг то, что Вы ищете.

1
ответ дан 18 December 2019 в 07:12
поделиться

Хорошо, так как Вы ищете агностика языка затем, можно попробовать REGEX как /<meta\s.*content=.*>/ и возьмите результат этого и проанализируйте определенные значения, которые Вы ищете. Я ни в коем случае не эксперт REGEX, таким образом, существует, вероятно, лучший путь, но в использовании инструмента по http://www.codehouse.com/webmaster_tools/regex/, я соответствовал обеим из строк, которые Вы обеспечили.

0
ответ дан 18 December 2019 в 07:12
поделиться

Если необходимо использовать regex, вот regex для получения просто части содержания:

content\s*=\s*['"].*?['"]

возвраты

content = "blogger"

и

content='Worpress.com'

соответственно. Я не regex эксперт, но это получает тех при предоставлении примеров в regexpal.

После того как Вы получаете это, можно получить все между кавычками однако, Вы выбираете, быть этим другой regex (который является просто безнравственным в той точке), или просто цикличное выполнение по символам.

0
ответ дан 18 December 2019 в 07:12
поделиться

Если Ваше использование Java, можно хотеть посмотреть на tagsoup, который является совместимым SAX синтаксическим анализатором для" [парсинга] HTML, поскольку это найдено в дикой природе".

0
ответ дан 18 December 2019 в 07:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: