我有一个php readfile脚本,如下所示:
<?php
$contentFile = "http://google.com";
readfile( $contentFile );
?>`
我想在readfile输出的特定行中插入一段代码。
示例:
<html>
{top_code}
{Code i want to insert here}
{bottom-code}
</html>
我怎样才能做到这一点?
你不能。readfile()
将您正在阅读的内容流式传输到用户的浏览器。您可以使用输出缓冲机制来捕获数据,但也可以只使用file_get_contents()
,并为自己节省几行额外的代码。
file_get_contents以字符串形式返回请求的文件/url。然后使用标准字符串或DOM操作来操作该"页面"。
这可以完成的工作
$contentFile = "http://google.com";
$html = file_get_contents($contentFile);
$html = explode("'n",$html);
$line = $line_number - 1;
array_splice($html, $line, 0,"Burim Shala");
$html = implode("'n",$html);
我发现了这一点,可以解决使用PHP而不使用MYSQL的RSS提要问题幸亏http://bavotasan.com/2010/display-rss-feed-with-php/
$rss = new DOMDocument();
$rss->load('http://wordpress.org/news/feed/');
$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
$item = array (
'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
);
array_push($feed, $item);
}
$limit = 5;
for($x=0;$x<$limit;$x++) {
$title = str_replace(' & ', ' & ', $feed[$x]['title']);
$link = $feed[$x]['link'];
$description = $feed[$x]['desc'];
$date = date('l F d, Y', strtotime($feed[$x]['date']));
echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
echo '<small><em>Posted on '.$date.'</em></small></p>';
echo '<p>'.$description.'</p>';
}