解決策
HTMLを覗いていると時々出会う "
や &
などの "&~~~;" は特殊文字と呼ばれるもの。
HTMLから情報を取得する際は下記のように置き換えよう。
# 出現頻度が高い文字
# ダブルクォーテーションを変換
.gsub('"', '"')
.gsub('"', '"')
# アポストロフィを変換
.gsub(''', "'")
.gsub(''', "'")
# アンパサンド(アンド)を変換
.gsub('&', '&')
.gsub('&', '&')
特殊文字とは
HTMLで " < " や " " " などを文字列として表したいときに使う方法
「文字実体参照」と「数値文字参照」の2種類の表示方法がある
代表的なものは以下
文字 | 文字実体参照 | 数値文字参照 | 説明 |
---|---|---|---|
< | < |
< |
不等号(小なり) |
> | > |
> |
不等号(大なり) |
& | & |
& |
アンパサンド(アンド) |
" | " |
" |
ダブルクォーテーション(二重引用符) |
' | ' |
' |
シングルクォーテーション(引用符)、アポストロフィ |
/ | / |
/ |
スラッシュ |
% | % |
% |
パーセント |
実際に使ってみると
<p> 例文だよ </p>
<p> 例文2だよ </p>
例文だよ
<p> 例文2だよ </p>参考