无法将html代码插入数组


Cannot insert html code to an array

如何在PHP中的数组中插入html代码?

我试着在网上搜索,但一无所获。

$html = array
('<IFRAME src="http://link1.com" width="1" height="1" 
scrolling="auto" frameborder="0"></IFRAME>' ,
'<IFRAME src="http://link2.com" width="1" height="1" 
scrolling="auto" frameborder="0"></IFRAME>' ,
'<IFRAME src="http://link3.com" width="1" height="1" 
scrolling="auto" frameborder="0"></IFRAME>');
print_r ($html);

当我尝试print_r时,没有结果。

没有结果,因为您将输出提供给浏览器,浏览器很乐意在您的页面中放置三个具有无效源URL的<iframe>。所以你什么都看不见,原因和你做print '<p></p>';时什么也看不见一样。

如果你查看页面源代码,你会看到你的HTML就在那里。

通常,要将HTML标记视为"纯文本",您需要通过htmlspecialchars传递它——然而,该函数适用于字符串,这里有一个数组。因此,如果你想将内容打印为人类可读的文本,你需要做一些更花哨的事情,并使用array_map:

print_r(array_map('htmlspecialchars', $html));

如果您打印这些并通过浏览器访问输出,则在浏览器解析它们时不会看到任何字符串。

如果你想看看原始输出,做

echo htmlspecialchars(print_r($html, 1), ENT_QUOTES, 'UTF-8');

我运行您刚刚发布的代码没有问题。如果你要输出到一个网页,iframe很可能就在那里,你应该只查看你的页面源代码。试试这个。。。

<?php
    $html = array('<IFRAME src="http://link1.com" width="1" height="1" scrolling="auto" frameborder="0"></IFRAME>',
    '<IFRAME src="http://link2.com" width="1" height="1" scrolling="auto" frameborder="0"></IFRAME>',
    '<IFRAME src="http://link3.com" width="1" height="1" scrolling="auto" frameborder="0"></IFRAME>');
    echo "<pre><code>";
    echo print_r ($html);
    echo "</code></pre>";
?>