5

私はこの簡単なスクリプトを持っています:onclick='sharemusic("Say It Ain't So", "Weezer");'

「Ain't」のアポストロフィが原因で、正しく機能していません。コードの機能に影響を与えずにアポストロフィをエスケープするにはどうすればよいですか?

ありがとうございます!

4

6 に答える 6

10

他のすべてが優れており、ほとんどの人にとってより役立つため、この回答を追加することに消極的でした.

次の回避策を考える人もいれば、唯一の適切な解決策と考える人もいます。

タイプライターのアポストロフィを取り除く - タイプライターはレトロな壮大さの点でクールでファッショナブルですが、それよりも優れた機能を提供して、さらに古いものにすることができます。アポストロフィ")。

副作用として、これによりエスケープの問題も修正されます。

onclick="sharemusic('Say It Ain’t So', 'Weezer');"

タイポグラファーは満足し、ブラウザも満足するでしょう。まあ、UTF-8 を使用している限り、またはタイポグラフィのアポストロフィを含む他のエンコーディングを使用している限り。Unicode: U+2019、エンティティ:’または’(はい、コードポイントを右の単一引用符と共有しますが、それでも「適切な」アポストロフィです)。

コメントで述べたように、適切なタイポグラフィ シンボル (およびその他のタイポグラフィの詳細) への変換を支援するさまざまなライブラリと CMS/ブログ プラグインがあります。wp-Typography、smartypants (これは、このようなものの最初の実装だったと思います - Markdown の元の作者である John Gruber によって開発されました)、typogrifyなどを参照してください。

私はずっと前に独自の(非公開、認めなければならない)C#実装を作成したため、最近の代替手段があるとしても、それが何であるかはわかりません。

于 2013-07-16T19:05:28.643 に答える