PHP代码输出单引号转义问题:如何生成含原生单引号的代码
PHP输出含单引号的代码解决方案
方法1:单引号字符串内转义单引号
在单引号包裹的输出字符串中,用反斜杠\转义单引号,替代HTML实体',PHP会将其解析为原生单引号输出。
修改后的代码:
$start_trial='start trial'; $status=false; if(!$status) echo '<?php if(!$status) { echo \'<p class="trial_p_ix">'.$start_trial.'</p>\' ; } ?>';
方法2:改用双引号包裹输出字符串
双引号字符串中,内部单引号无需转义,直接保留原生格式即可。注意要转义输出内容中的PHP变量(如$status),避免被当前PHP环境解析。
修改后的代码:
$start_trial='start trial'; $status=false; if(!$status) echo "<?php if(!\$status) { echo '<p class="trial_p_ix">{$start_trial}</p>' ; } ?>";
方法3:使用Nowdoc语法输出大段代码
Nowdoc语法可以完全保留字符串原样,无需转义任何引号,适合输出复杂代码块,最后通过printf嵌入变量。
修改后的代码:
$start_trial='start trial'; $status=false; if(!$status) { $code = <<<'EOT' <?php if(!$status) { echo '<p class="trial_p_ix">%s</p>' ; } ?> EOT; printf($code, $start_trial); }
内容的提问来源于stack exchange,提问作者Ziad Nassar
相关产品推荐
相关产品推荐

