2017-12-12 10 views
-1

私はNext.js /(SSR React)アプリケーションを持っています。私は小道具を介してプロパティをメタコンポーネントに渡しています。文字列を取得し、タグは次のようになります。JavaScriptの文字列から"This is a quote" - Quotes"React誤ってhtmlが属性名の引用符をエスケープします

<meta property="og:description" content={ `${description}` } />

そこに置かれているコンテンツは、次のようになります。結果は次のようになります。&quot;This is a quote &quot;私が探しているのは、二重引用符ではなく、メタタグに渡される文字列です。ここで何が起こっているのですか?私はどのように修正できますか?

PS:Unicode文字を使用して、文字列リテラルの外側に説明を入れてみました。let q = String.chartocode(38)のように二重引用符の代わりにqを追加しました。すべてが同じ結果を出しました。

+0

これは適切なエスケープで、 ''は二重引用符をエスケープする必要があるため、有効なhtmlではありません。 – shamsup

+0

さらに、opengraphは属性のhtmlエンティティをサポートしていますので、 '"これは引用です" - Quotes'は、 "opengraphの解析ビューで引用符" - Quotesです。 – shamsup

+0

@shamsup甘さ。私の部分ではかなり単純な監視。これを回答として投稿すると、私はupvoteして受け入れます。 – Quesofat

答えて

1

これは適切なエスケープです。<meta property="og:description" content=""This is a quote" - Quotes" />は有効なhtmlではありません。二重引用符はエスケープする必要があります。

さらに、OpenGraphは属性のhtmlエンティティをサポートしているため、&quot;This is a quote&quot; - QuotesはOpenGraph解析ビューで"This is a quote" - Quotesと表示されます。

関連する問題