2010-03-15 51 views
0

我有我想要显示的第一个200或250个字符的网址列表。我可以使用jQuery来做,还是应该在服务器端下载它们[使用PHP]并将它们存储在数据库中?我想我将不得不使用与字符限制fopen。 **如何从网页下载并显示前200或250个字符?

编辑

前200个字符的“身体”不包括标签。像总结

+0

你想前200个字符,无论页面是什么,或者一些HTML文档的前200个字符*(这意味着你不得不跳过''部分,删除HTML标签。 ..)* – 2010-03-15 05:40:14

回答

1

读你的标题,我的第一个倾向是使用fopen,但也有来考虑一些东西......

1)是否有“新线”,在你的目标的HTML代码?例如,如果您查看google.com的源代码,则整个“页面”只有15行代码。因此,这是行不通的。

2)您是否需要考虑格式?像字体标签或链接一样简单的内容可能占用200个字符限制中的大部分(或全部)。

你可能要考虑:

用strip_tags(..)

http://php.net/manual/en/function.strip-tags.php

我会怎么做呢?

F打开的页面并存储为字符串,然后用strip_tags (..)字符串和substr(..)字符串“缓冲区”。

希望这会有所帮助。

+0

为什么在有换行符时不会'fopen'工作? – Svish 2010-03-15 06:57:24

+0

它的确如此,但是HTML代码中可能存在“垃圾”,而屏幕上未显示该垃圾,例如评论。 strip_tags()函数非常重要。 – Alex 2010-03-15 07:11:50

0

你可以用simple html dom parser来做到这一点。不过,这种情况很慢。因此,如果您在一个页面上显示多个摘录,则可能会考虑将页面内容存储在数据库中。

<?php 
include("simple_html_dom.php"); 

$html = file_get_html("http://www.stackoverflow.com"); 
echo substr(str_replace(" ", "", $html->plaintext), 0, 200); 
?>