90666


Qiitaの記事サムネイルを取得するために、OGP(og:image)を参照しているのですが、画像URLに`amp;`という文字列が入っており、それが入っていると画像が正しく読み込んでくれません。

URLから`amp;`を削除すると正しく画像を読み込んでくれます。

これはどういう仕様でしょうか？


CC BY-SA 4.0
2022-08-20T13:48:04.420
90651
2022-08-21T03:19:10.230
40856
question
url
OGP(og:image)の画像URLに"amp;"という文字列が入っていると、無効になってしまう


`amp;`というのは正確には`&amp;`で一つの塊を示します。これは何かと言うと、「文字参照」と呼ばれるもので、HTML上などで特殊文字を記述するための代用文字列です。

[HTMLの記号・特殊文字の文字コード表（文字実体参照、数値文字参照）](https://gray-code.com/html_css/list-of-
symbols-and-special-characters/)

OGPを参照して取得する際に、何らかの要因でURLがエンコードされてしまい、`&`はその文字参照である`&amp;`に変化してしまっているのだと思います（少なくとも、Qiitaのソース上や、javascriptコンソールでog:image文字列を取得してみた限りでは`&`はそのままになっていました）。  
対処としては、`amp;`を削除するよりは、`&amp;`を`&`に置換する方が安全・確実かと思います。


CC BY-SA 4.0
2022-08-21T03:19:10.230
90666
2022-08-21T03:19:10.230
52932
90651
answer