6

カスタム テンプレート システムに基づくサイトを使用しています。テンプレートでタグ[custom_text]を使用すると、CMS のリッチ テキスト エディターで定義された、次のような html のブロック全体が出力されるとします。

<b>Lorem ipsum dolor</b> sit amet, "consectetur adipisicing elit"<br /><br />
<b>sed doeiusmod</b> tempor incididunt ut's labore et dolore magna's aliqua.

両方のタイプの引用符が含まれていることに注意してください。テンプレートシステムを備えたCMSはエンコードされているため、実際にページに出力する以外に、テンプレートシステムから出てくるものを前処理することはできません。

ここで、たとえばコードからすべての改行を削除するなど、実際にそのブロックを操作する必要があります。ページで php を使用できますが、そのコード ブロックを含む文字列を定義できません。どちらかの方法で行う場合:

$string = "[custom_text]";
$string = '[custom_text]';

ブロック内の引用符が邪魔になり、文字列が途中で終了します。この問題を処理する明白な方法はありますか?

4

2 に答える 2

4

なぜこれまで考えたことがなかったのかわかりませんが、ヒアドキュメント構文を使用するだけで済みます。

$string = <<<EOT
[custom_text]
EOT;

ケースを解決します。

于 2012-09-11T10:36:34.113 に答える
0

これを試してください

<?php
$string = "This string has 'single quotes'";
echo addcslashes($string, '"\\');
?>

出力は以下のようになります

This string has 'single quotes'

このリンクからのこの回答

ここをクリック

于 2012-09-11T04:33:02.630 に答える