私はこれを数時間いじっており、これにアプローチする最善の方法について他の人の意見に興味がありました.
私は一種の CMS を作成しており、コード スニペットを投稿できるようにしたいと考えています。
上記のスニペットを説明テキストの段落で囲むことができるようにしたいと考えています。
私が欲しいのは:
- 段落にフォーマットされる説明テキスト、つまり
/n
のstr_replace</p><p>
。 - タグ内に含まれるものは
[CODE][/CODE]
すべてフォーマットされずhtmlspecialchars()
、コードが実行されないように適用されます。
テキストに一致する preg_replace_callback を使用し、コールバック関数に htmlspecialchars を適用することで、後者のポイントを達成できます。
前者については、単純に逆の表現ができると思いますが、それは間違った方法のようです。
誰でもアドバイスできますか?
編集
コード例: 私がこれまでに持っているもの..
function format_it($matches)
{
return "<pre class='prettyprint'>" . htmlspecialchars($matches['1']) . "</pre>";
}
$content=preg_replace_callback('#\[code\](.*)\[/code\]#isU', "format_it", $content);