Open Graph - как отображать специальные символы - PullRequest
0 голосов
/ 20 сентября 2018

Я пытаюсь динамически подавать мета-тег заголовка OpenGraph на страницу / заголовок статьи следующим образом:

<meta property="og:title" content="Tall man says "It's cloudy up here!" - Pinky & The Brain">

Кавычки, апострофы и т. Д. Приводят к разрыву HTML.и я также прочитал эту страницу , где написано

Не кодирует символы кавычек HTML В заголовках и описаниях статей часто используются кавычки и другие специальные символы.Когда вы выводите теги заголовка и описания этих полей, специальные символы необходимо кодировать для правильного отображения в HTML, или, в случае символов кавычек, они фактически закрывают метатег и обрезают общие сообщения.

Неправильно:

[html]<meta property="og:title" content="This Title has "Quotes" used incorrectly" />[/html]

Правильно:

[html]<meta property="og:title" content="This Title has &ldquo;Quotes&rdquo; used correctly" />[/html]

Но когда я использую C # для кодирования

ogTitle = HttpUtility.HtmlEncode(ogTitle);

, я получаюследующее, которое должно быть правильным:

<meta property="og:title" content="Tall man says &quot; It's cloudy up here!&quot;  - Pinky &amp; The Brain">

НО код HTML-сущности отображается при публикации на Facebook и т. д., поэтому заголовок буквально разделяется как:

Tall man says &quot; It's cloudy up here!&quot;  - Pinky &amp; The Brain
...