Освобождение переменных частей от выполнения в PHP


У меня есть строка, которая записывается в текстовый документ с использованием следующего кода

$myfile = fopen("SomeFolder/Cards.txt", "w");
        $txt = "$CardDetail";
        fwrite($myfile, $txt);
        fclose($myfile); 

Строка для $txt взята из переменной $CardDetail

Вот как выглядит переменная $CardDetail

$CardDetail = "

        <div id='CardContain'>
        <iframe id='No' width='364.8' height='220.8' scrolling='no'  frameBorder='0'  src='../Cards/ID/$ID/Iframe2.php'>​</iframe>
        <div id='CardWrapping'>
        <h1 id='Cardtext'><b>CARD ID</b> $ID</h1>
        <h1 id='Cardtext'><b>LAST EDITED</b> $Edited<a id='EditLink' href='../Cards/ID/$ID/Editcard.php'> (edit card)</a></h1>
        <h1 id='Cardtext'><b>DESCRIPTION</b> $Description</h1>
        </div>
        <?php if($KeepVariable == "Exsample"){ echo "<div id='CardStats'><h1 id='Cardtext1'>Standby</h1></div>"; }else{ echo "
        <a href='Selectpayment.php?CardID=$ID'><div id='CardButton'><h1 id='Cardtext1'>Options</h1></div></a> ";} ?>

        </div>
";

Мне нужно, чтобы следующая часть этой строки из $CardDetail НЕ выполнялась, а просто записывалась в документ Cards.txt как есть.

<?php if($KeepVariable == "Exsample"){ echo "<div id='CardStats'><h1 id='Cardtext1'>Standby</h1></div>"; }else{ echo "
            <a href='Selectpayment.php?CardID=$ID'><div id='CardButton'><h1 id='Cardtext1'>Options</h1></div></a> ";} ?>

Я вовсе не ожидаю, что кто-нибудь поймет то, что я пытаюсь здесь объяснить. Но проще говоря, мне нужно исключить это часть строки от выполнения.

Author: Michał Perłakowski, 2015-08-16

2 answers

Экранирующие переменные с помощью \, например:

$CardDetail = "

        <div id='CardContain'>
        <iframe id='No' width='364.8' height='220.8' scrolling='no'  frameBorder='0'  src='../Cards/ID/$ID/Iframe2.php'>​</iframe>
        <div id='CardWrapping'>
        <h1 id='Cardtext'><b>CARD ID</b> $ID</h1>
        <h1 id='Cardtext'><b>LAST EDITED</b> $Edited<a id='EditLink' href='../Cards/ID/$ID/Editcard.php'> (edit card)</a></h1>
        <h1 id='Cardtext'><b>DESCRIPTION</b> $Description</h1>
        </div>
        <?php if(\$KeepVariable == \"Exsample\"){ echo \"<div id='CardStats'><h1 id='Cardtext1'>Standby</h1></div>\"; }else{ echo \"
        <a href='Selectpayment.php?CardID=$ID'><div id='CardButton'><h1 id='Cardtext1'>Options</h1></div></a> \";} ?>

        </div>
";
 1
Author: Michał Perłakowski, 2015-08-16 00:14:32

Попробуйте избежать двойных кавычек:

$CardDetail = "

    <div id='CardContain'>
    <iframe id='No' width='364.8' height='220.8' scrolling='no'  frameBorder='0'  src='../Cards/ID/$ID/Iframe2.php'>​</iframe>
    <div id='CardWrapping'>
    <h1 id='Cardtext'><b>CARD ID</b> $ID</h1>
    <h1 id='Cardtext'><b>LAST EDITED</b> $Edited<a id='EditLink' href='../Cards/ID/$ID/Editcard.php'> (edit card)</a></h1>
    <h1 id='Cardtext'><b>DESCRIPTION</b> $Description</h1>
    </div>
    <?php if($KeepVariable == \"Exsample\"){ echo \"<div id='CardStats'><h1 id='Cardtext1'>Standby</h1></div>\"; }else{ echo \"
    <a href='Selectpayment.php?CardID=$ID'><div id='CardButton'><h1 id='Cardtext1'>Options</h1></div></a> \";} ?>

    </div>
";
 1
Author: Berriel, 2015-08-16 00:11:28