如何在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>";
?>