[英]Cant echo php echo as a string
我試圖在下面回聲。 純文本。
<script src="<?php echo $config['dir_plugins']; ?>qroll.js"></script>
但是它不會正確地回顯。下面是代碼。以某種方式將回顯忽略為一個字符串,並且與字符串的其他大部分相同。
<?php
$arr = array("qroll", "validate", "hellios");
$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";
foreach ($arr as &$value) {
echo $str2;
echo $value;
}
?>
它只是返回src='
這行很奇怪:
$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";
我認為應該
$str2 = "src='".$config[\'dir_plugins\']."'";
這符合我的要求
<?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>
為避免PHP計算字符串,請不要使用"
而是'
$str2 = 'src=\'<?php echo $config[\'dir_plugins\']; ';
應該可以
請注意,如果您未將頁面設置為text/plain
瀏覽器將在<?
之后隱藏所有內容<?
由於<
。 您可能要使用<
強制將其打印以用於調試目的。
根據一些評論,用戶似乎很想回顯包含PHP的字符串。
如果所需的輸出是:
src='<?php echo $config['dir_plugins']; ?>
將您的代碼更改為:
$str2 = "src='<?php echo \$config['dir_plugins']; ?>";
這將輸出:
src='<?php echo $config['dir_plugins']; ?>
大概其余的輸出(腳本名稱和腳本標簽)將由您的代碼添加。
您實際上是通過將<
轉換為<
來轉義輸出的HTML不兼容部分<
和>
到>
如果您嘗試回顯HTML代碼以在頁面上顯示,則始終可以嘗試htmlspecialchars ,它將<
轉換為<
;。 和>
到>
為了你。
<?php
$arr = array("qroll", "validate", "hellios");
$str2 = "src='<?php echo \$config[\'dir_plugins\']; ";
foreach ($arr as &$value) {
echo htmlspecialchars($str2);
echo $value;
}
源輸出:
src='<?php echo $config[\'dir_plugins\']; qrollsrc='<?php echo $config[\'dir_plugins\']; validatesrc='<?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>
在您的頁面上看起來像這樣:
<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>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.