В javascript мне нужно взять строку и HTML, чтобы избежать ее.
Этот вопрос здесь задает тот же вопрос, и самый популярный ответ предполагает заполнение временного div.
Я тоже использовал это, но я думаю, что нашел ошибку.
Если у вас есть эта строка: Cats & gt; Dogs
Unescaped, это должно быть: Кошки> Собаки
Если вы удалите точку с запятой и вместо этого используете это: Cats & gtdogs
Вы получите это как результат: Кошки> Собаки
Это показалось мне странным. Из того, что я понимаю, строка с экранированием требует наличия конечной точки с запятой, иначе она не будет удалена. В конце концов, что, если бы у меня был магазин под названием гитары и усилители? Насколько нам известно, эта компания существует, но не имеет бизнеса, поскольку она вызывает исключения нулевой ссылки везде, где есть записи.
Любые идеи о том, как я мог бы убежать, сознательно избегая побега, когда точка с запятой отсутствует? В настоящее время все, что я могу сделать, это выполнить самозахват.
(Предварительный просмотр WYSIWYG в StackOverflow, кстати, демонстрирует подобное необычное поведение. Попробуйте ввести & ampgt;, это отобразится как & gt ;!)
Разве это не так?
Успешные HTML-парсеры терпимы. Это одна из отличительных черт, например, XML-парсеров. Они не обязательно придерживаются строгих правил о разметке, по той простой причине, что там много неправильной разметки. Поэтому они пытаются понять, что означает разметка. >Dogs
более вероятно, означает >Dogs
than >Dogs
, так что с парсером идет.