sereja3578 / project-yii2-simple-html-dom
"PHP 简单 HTML DOM 解析器"
dev-master
2020-04-02 22:47 UTC
Requires
- yiisoft/yii2: *
This package is auto-updated.
Last update: 2024-09-29 05:22:23 UTC
README
"简单 HTML Dom"(PHP 简单 HTML DOM 解析器) http://simplehtmldom.sourceforge.net"
安装
安装此扩展的首选方法是通过 composer。运行以下命令之一
php composer.phar require --prefer-dist sereja3578/project-yii2-simple-html-dom "dev-master"
或者(如果已安装 composer)
composer require --prefer-dist sereja3578/project-yii2-simple-html-dom "dev-master"
或者将以下代码添加到您的 composer.json
文件的 require 部分,并运行安装命令(Composer)
"sereja3578/project-yii2-simple-html-dom": "dev-master"
使用方法
扩展安装完成后,只需在您的代码中简单使用即可
<?php use sereja3578\simplehtmldom\simple_html_dom; use sereja3578\simplehtmldom\SimpleHTMLDom; use yii\base\Component; use yii\httpclient\Exception; use yii\httpclient\Client; use yii\httpclient\Request; use yii\httpclient\Response; use Yii; class Parser extends Component { /** * @var string */ const BASE_URL = "https://mail.ru"; /** * @var $request Request */ private $request; /** * @var $request Response */ private $response; /** * @var $client Client */ private $client; /** * @return void */ public function init() { parent::init(); $this->client = new Client([ "transport" => "yii\httpclient\CurlTransport", "baseUrl" => self::BASE_URL ]); } /** * @param string $url * @return bool|simple_html_dom|Exception */ public function getPage(string $url) { try { $this->setRequest($url); $this->setResponse(); if ($this->response->getStatusCode() != "200") { return Yii::t("http-errors", "Ресурс не доступен"); } return SimpleHTMLDom::str_get_html($this->response->content); } catch (Exception $e) { return $e; } } /** * @param $url string * @return void */ public function setRequest(string $url) { $this->request = $this->client->get($url); } public function setResponse() { $this->response = $this->request->send(); } ?>
关于功能说明,请访问官方网站: http://simplehtmldom.sourceforge.net/