不能回应php echo作为字符串

时间:2016-09-20 22:39:25

标签: php

我想在下面回应。纯文本。

<script src="<?php echo $config['dir_plugins']; ?>qroll.js"></script>

但它不能正确回显。下面是code.somehow它将echo作为一个字符串省略,并将其与字符串的大多数其他部分一起省略。

<?php
$arr = array("qroll", "validate", "hellios");
$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";
foreach ($arr as &$value) {
    echo $str2;
    echo $value;
}
?>

它只返回src='

5 个答案:

答案 0 :(得分:1)

这句话很奇怪:

$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";

我认为应该是

$str2 = "src='".$config[\'dir_plugins\']."'";

答案 1 :(得分:1)

这就是我认为你要求的

<?php
$arr = array("qroll", "validate", "hellios");
$str2 = '<script src="<?php echo $config[\'dir_plugins\']; ?>"';
foreach ($arr as &$value) {
    echo $str2 . $value . '.js></script>';
    //echo PHP_EOL;
}
?>

输出

<script src="<?php echo $config['dir_plugins']; ?>"qroll.js></script>
<script src="<?php echo $config['dir_plugins']; ?>"validate.js></script>
<script src="<?php echo $config['dir_plugins']; ?>"hellios.js></script>

答案 2 :(得分:0)

为避免PHP评估字符串,请不要使用",而应使用'

$str2 = 'src=\'<?php echo $config[\'dir_plugins\']; ';

应该做的伎俩

请注意,如果您未将页面设置为text/plain,则由于<?,您的浏览器会隐藏<之后的所有内容。您可能希望使用&lt;强制打印它以进行调试。

答案 3 :(得分:0)

继一些评论之后,用户似乎想要回显包含一些PHP的字符串。

如果所需的输出是:

src='<?php echo $config['dir_plugins']; ?>

将您的代码更改为:

$str2 = "src='&lt;?php echo \$config['dir_plugins']; ?&gt;";

这将输出:

src='<?php echo $config['dir_plugins']; ?>

大概输出的其余部分(脚本名称和脚本标记)将由您的代码添加。

通过将<转换为&lt;>转换为&gt;

,您实际上是在转义输出中与HTML不兼容的部分

答案 4 :(得分:0)

如果您尝试回显HTML代码以便在页面上显示,则可以随时尝试htmlspecialchars<转换为&lt;>转换为{{1}对你而言。

&gt;

来源输出:

<?php
$arr = array("qroll", "validate", "hellios");
$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";
foreach ($arr as &$value) {
    echo htmlspecialchars($str2);
    echo $value;
}

页面输出:

src='&lt;?php echo $config[\'dir_plugins\']; qrollsrc='&lt;?php echo $config[\'dir_plugins\']; validatesrc='&lt;?php echo $config[\'dir_plugins\']; hellios
src='<?php echo $config[\'dir_plugins\']; qrollsrc='<?php echo $config[\'dir_plugins\']; validatesrc='<?php echo $config[\'dir_plugins\']; hellios

页面输出:

<?php
$str2 = 'src=\'<?php echo $config[\'dir_plugins\']; ?>\'';
echo htmlspecialchars($str2);

以下是所有内容的示例:

src='<?php echo $config['dir_plugins']; ?>'

在您的网页上看起来像这样:

<pre>
<?php
$arr = array('qroll', 'validate', 'hellios');
$str2 = '<script src=\'<?php echo $config[\'dir_plugins\']; ?>';
$str3 = '.js\'></script>';
foreach ($arr as $value) {
    echo htmlspecialchars($str2), $value, htmlspecialchars($str3), "\n";
}
?>
</pre>