繁体   English   中英

从网页复制文本

[英]Copy text from a webpage

假设我们有一个网站 speedywap.com

当我在浏览器中打开网站,然后将页面复制到剪贴板时,当我将其粘贴到记事本(Windows)中时,只剩下文本。 除了链接等中的文本(即显示在屏幕上)之外,所有代码都被删除。

我想用 php 做一些类似的事情,因为我正在尝试创建一个关键字密度分析器。 所以我想要一些能够只保留屏幕上显示的网页中的文本的东西。

我的服务器正在运行 apache、php、centos 和 mysql

<?php
$content = file_get_contents('http://speedywap.com');
echo $content;
?>

您可以使用 strip_tags 从中删除标签,然后只剩下文本。

对于一个非常天真的开始,你可以使用这个:

<?php

echo strip_tags(file_get_contents('http://speedywap.com'));

?>
function curl($url){
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL,$url);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
    return curl_exec($ch);
    curl_close ($ch);
}

$html = curl('http://speedywap.com');

cURL 比 fgc 快很多倍。 您可以使用 strip_tags 但这并不能保证任何事情,唯一的方法是手动解析页面,使用 str_replace、preg_replace 等。

这是你使用 strip_tags 得到的: http : //pokit.etf.ba/get/47a07bd62ea42dd3d447f060c01ccfb5.png

在此开发您的代码 ->http://www.barattalo.it/2010/03/01/php-curl-bot-to-update-facebook-status/

如果你想花哨,请使用 file_get_contents 或 curl。

<?php
$content = file_get_contents('http://speedywap.com');
echo $content; // or analyze, or whatever

您可以使用file_get_contents('http://www.speedywap.com/'); 获取页面源,然后使用一些过滤器/正则表达式来获取您需要的文本。

您还可以使用strip_tagshttp : //php.net/manual/en/function.strip-tags.php

strip_tags不会删除或替换诸如 HTML 空间 ( &nbsp; )、 &pound; , &ndash; 等从您需要的内容中提取,如您所说,浏览器复制( Ctrl + ACtrl + C )并粘贴到记事本中。 您必须编写特定的代码来替换每个代码,例如:

str_replace('& nbsp;',' ',$mytext); 
str_replace('& ndash;','-',$mytext);

等等来处理这些。 我需要将用户在TinyMCE创建的内容(允许格式化文本)转换为客户端的纯文本。 一个超越strip_tags来执行此操作的 PHP 命令会很棒,但我找不到。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM