ユーザタグ文字列を別のリンクアンカーにする場合

  • トゥィッターで言及(トゥィート)
  • アメーバで共有
  • はてなブックマークに登録
  • フェイスブックで共有
  • タンブラーで共有
  • グーグルプラスで共有

FC2 ブログにはユーザータグと呼ばれる機能があり、これに依り任意のキーワードを全ての FC2 ブログとタグとして共有出来るようになります。

ところが、この機能に稀に不具合が起こる事があります。

今回は、その不具合を回避する方法を解説しましょう。


ユーザタグとは

ユーザタグとは、記事に対して文書作成者が指定出来るキーワードの事です。

閲覧者は、タグを検索する事で該当する語句をタグにしたあらゆる FC2 ブログの記事を検索する事が出来るようになります。

私が糞アメブ□から"脱北"して良かったと思う理由の一つに、このユーザタグの存在があります。

と言いますのも、結構キーワードから当出張所にお越しになる方が増えているからです。


ユーザタグの実装上の不具合?

ただ、このユーザタグには稀に不具合が起こる事があります。

ユーザタグ機能には、文字列を当該タグページヘリンクする事が可能になっておりますが、その機能を利用する際に生じ得る問題です。


ユーザタグリンク機能での実装

通常、ユーザタグ文字列をリンクアンカーにする場合、記事作成者が自分で<a>要素としたアンカー文字列はリンクアンカーにはしないようになっております。

これは当り前で、記事作成者が作ったリンクアンカーがユーザタグのリンクアンカーにより機能しなくなってしまう事になるからです。


実装に於ける不具合

ですが、この機能が稀に正常に機能しない場合があります

すなわち、記事作成者が作ったリンクにユーザタグ機能で生成されるリンクアンカーが入り込み、結果記事作成者が張ったリンクが正常に機能しなくなってしまうのです。


具体例

例えば、ある記事で「堀北真希」と言う語句をユーザタグに指定したとします。

そして、その記事には

<a href="…">堀北真希について</a>

と言うアンカーを文書作成者が埋め込んでいるとします。

この時、ユーザタグの機能が正常に機能すれば、このアンカー内の「堀北真希」と言う文字列はユーザタグへのアンカーにはされません

ところが、稀に

<a href="…"><http://blog.fc2.com/tag/%E5%A0%80%E5%8C%97%E7%9C%9F%E5%B8%8C">堀北真希</a>について</a>

と言うように勝手にアンカーが降ろされてしまう事があるのです。


不具合回避にはどうすれば良いか

現状、どのようなケースでこのような不具合が起こるのかは特定出来ません。

このため、対策としてはユーザタグ機能に掛からないように文字列に細工をするしかありません

私が用いている方法は、HTML5 で公認された<wbr>要素のタグをキーワードの途中に入れる事です。

本来、HTML5 では<wbr>要素は「折返しを許可する箇所」と言う定義となっております。

言い換えれば、折返しにならないのであれば、何の効果ももたらしません。

そこで、本来の使い方には反するのですが、文書作成時に作ったアンカー文字列に於いて、ユーザタグに指定するキーワードの途中にこの<wbr>要素のタグを入れる訳です。

このタグが混じる事で当該テキストをキーワードとは認識されなくなり、結果アンカー化を防げると言う訳です。


実際の例

上記の例で言えば、以下のようにマークアップすれば良い事になります:

<a href="…">堀北<wbr />真希について</a>

この時、キーワードの途中であれば何処に入れてもいいのですが、やはり意味ある単語の間に入れた方が良いでしょう。

上記で言えば、「堀北」と「真希」がそれぞれ

  • 日本人の苗字(と言っても堀北真希ちゃん以外にいるのか?)
  • 女性の名前

と意味ある二つの単語に分けられるので、その間に<wbr>要素のタグを入れております。

これで、FC2 ブログのシステムはこのアンカーに「堀北真希」が含まれていないと認識してスキップしてくれます。

関連記事
スポンサーサイト