更新された質問、残念ながら私は直前に説明しませんでした。2つの特定のタグの間の文字列を変更する - ph
詳細:
私は複数の行を使用してデータベースを持っており、各行は、データのトンを持っていますが、どのような各データが共通に持っていることは、ランダムな順序で<pre><code></code></pre>
タグです。
例:
$string = "
<h2>Heading 2</h2>
Something
<pre><code> alot of html and other code here </code></pre>
something something
<pre><code> alot of html and other code here </code></pre>
";
注:文字列が同じ順序で毎回ではないだろう、多かれ少なかれ<pre><code>
タグがあることができ
今私は<pre><code></code><pre>
タグ内のコードを表示したいですプレーンテキストとして、あなたは"<"
を"<"
と">"
にそれぞれ">"
と変換する必要があることを知っていますが、問題はプレタグの外に他のタグがあることです。 htmlspecialchars($string);
を使用すると、すべてのタグがプレーンテキストとしてh2タグとpreタグでさえ表示されます。
私はちょうどhtmlspecialchars()
機能をpreタグの間のデータに使用する方法が欲しいです。
のようにテンプレートのHTMLを形成することができる、私はこれの根本的な原因は、より多くのソフトウェアアーキテクチャの問題のように聞こえると思います。最初の場所にこれらの文字列を置くべきではありません。文字列の異なる部分を別々に持つようにリファクタリングするべきでしょう。 regexを使ってhtmlを解析するのは絶望的なことです。あなたがそのように行くと後で問題に遭う可能性があります。これらの文字列から実際に作業する必要がある場合は、少なくともパーサで適切に処理してください。 –