2016-09-16 4 views
0

私はこのような変数としてHTMLコードを設定しますいくつかのPHPコードがあります。今、どのようなHTMLコードは、PHPのコードだった場合PHPコードを変数として定義する - 最も簡単な方法は何ですか?

public function get_code() { 
    $code = '<h1>Title</h1>'; 
    $code .= '<p>Text</p>'; 
    return $code; 
} 

を?変数としてPHPコードを設定することは可能でしょうか?

私は、PHPコードが文字列である必要があることを理解しています。だから、これはそれを行うにはどのように一つの方法です:

public function get_code() { 
    $code = ' 
       if (in_array(\'custom_less\', $options)) { 
        $style = \'@import "assets/css/style.less"\'; 
       } 
    '; 
    return $code; 
} 

私は非常に大規模なコードを持っているので、各'通過し、文字列として全体のコードを定義するためには、その前に\を設定することは非常に迷惑です。それらのバックスラッシュを取り除く方法はありますか?

私が変数として欲しいのは、コードをファイルに書き込む必要があるからです。

+2

['nowdoc'](http://php.net/manual/en/language.types.string.php#language.types.string.syntax.nowdoc)を使用できます。 PHPコードを変数に入れる必要があるのはなぜですか?プレゼンテーション(実際のコードをウェブサイトなどに印刷する場合)を除き、コード臭のように聞こえます。 –

+0

ありがとう@MagnusEriksson。私はこれが私が探しているものでなければならないと思う。私はファイルに書きたいので、PHPコードを変数として必要とします。 – Reza

+0

これをファイルに保存して起動することはできませんか? –

答えて

0

二重引用符で囲んだ一重引用符を使用できます。このように言うことができます。

public function get_code() { 

     $code = " 
      if (in_array('custom_less', $options)) { 
       $style = '@import assets/css/style.less'; 
      } 
     "; 
     return $code; 
} 
+0

私のコードに二重引用符も含まれていれば、私はそれぞれの単一のものに行き、それらの前にバックスラッシュを設定する必要があります。私はそれらのバックスラッシュを完全に取り除く方法を探しています。 – Reza

+0

htmlspecialchars()またはhtmlentities()関数を試してください – xFighter

+0

@AbdulAhad - これらのメソッドは実際のコンテンツを変更し、後で使用する場合は無効にします。 –

0

あなたの希望は、変数に最も簡単な方法を純粋なHTMLコードを格納する場合は、それがPHPでヒアドキュメント構文と呼ばれています

public function get_code() { 
    $output = <<<EOD 
<div>SOME HTML</div> 
EOD; 
return $output; 
} 

です。

関連する問題