0

最近、自分のウェブサイトを書き直し、コード スニペットを投稿できるようにシンタックス ハイライターを追加しました。以前は、htmlentities()安全で何も壊さないように文字列だけでしたが、<pre>コードを強調表示するために a を使用する必要があるためhtmlentites()、ページから構文の強調表示を効果的に削除します。htmlentites()2 つのタグ ( ) の間で何かを実行する関数を考え出そうとしましたが、何も機能して<entitiesparse> </entitiesparse>いないようです。私ができる機能を知っている人はいますか:

a)htmlentities()特定のタグ以外のすべてに設定します(などstrip_tags()

また

b)htmlentities()特定のタグ内のもののみ (前述のとおり)

4

1 に答える 1

0

htmlentities()生のコンテンツにのみ適用する必要があります。したがって、未加工のコンテンツ (記事のテキスト) に適用htmlentities()してから、関数を呼び出して構文の強調表示を追加できます。構文の強調表示コードが予期しない問題を引き起こす可能性がないことを確認する限り、htmlentities()再度呼び出す必要はありません。

要素を使用してaコードを強調表示する場合は、code代わりに要素を使用することを強くお勧めします。これは、プログラミング コードの行またはブロックにマークアップを提供するように設計されています。このa要素は、ハイパーリンクのアンカーとしてのみ使用する必要があります。

たとえば、次のように使用できます。

<code class="highlighted-code">/* line of code here /*</code>

code次に、カスケード スタイル シートを使用して、クラスが "highlighted-code" に等しいタイプの任意の要素に背景色を提供できます。次に例を示します。

code.highlighted-code {background-color: yellow}
于 2012-07-29T20:50:46.740 に答える