Какова сделка с названным html-объектом за $ (& dollar;) - PullRequest
7 голосов
/ 07 октября 2011

У меня довольно простой вопрос. В «большинстве» ссылок на знак доллара есть именованная сущность html, и это именно то, чего вы ожидаете; '& Доллар;'

.

Но в других ссылках это отсутствует, и сообщаем вам, что доступна только числовая сущность ($).

Насколько я помню, именованная сущность долгое время не существовала, потому что $ является частью стандартного набора ascii. И из-за этого более ранние / старые версии IE и других браузеров не поддерживают эту сущность.

Так в чем же дело? Я ищу, какова поддержка названного объекта и почему он не был поддержан в первую очередь ...

Вот ссылка на все символы валют, где, как ни странно, только доллар не имеет именованного объекта http://www.entitycode.com/#currency-content

Вот небольшой пример того, о чем я говорю, когда вы используете доллар + int http://codepad.org/xCxWZWsu И да, я знаю, что в этом простом примере я мог бы просто уйти от знака доллара с косой чертой, но поверьте мне, когда я говорю, что превращение его в сущность при сохранении строки является наиболее разумным решением в моем случае.

Независимо от моего примера, мне все еще любопытно, что такое поддержка для & доллара; сущность.

Ответы [ 2 ]

4 голосов
/ 07 октября 2011

В официальном списке сущностей его нет, поэтому я бы заполнил его в разделе «Возможно, некоторые браузеры поддерживали его, но не полагайтесь на него».

Как правило, сущности были необходимы для представления не-ASCII символов, когда набор символов документа был ограничен ASCII. В настоящее время с UTF-8, наиболее часто встречающимся набором символов в сети, я думаю, что мы наконец-то сможем переместиться через именованные объекты и просто использовать символы напрямую.

0 голосов
/ 07 октября 2011

Единственное разумное решение - использовать preg_quote () при использовании ввода для регулярных выражений.В противном случае вам нужно использовать html-enities для.\ + *?[^] $ () {} =!<> |: - тоже.

...