divineomega / wikipedia-info-box-parser
将维基百科页面上的信息框解析成关联数组
v4.0.1
2019-07-21 09:24 UTC
Requires
- php: >=7.1
- ext-dom: *
- ext-json: *
- divineomega/do-file-cache-psr-6: ^2.0
- divineomega/php-wikitext-parser: ^1.0
README
此库将维基百科页面上的信息框解析成关联数组。
安装
可以使用Composer轻松安装Wikipedia Info Box Parser包。只需从您项目的根目录运行以下命令。
composer require divineomega/wikipedia-info-box-parser
用法
请参考以下示例用法。
use DivineOmega\WikipediaInfoBoxParser\Enums\Format; use DivineOmega\WikipediaInfoBoxParser\WikipediaInfoBoxParser; require_once __DIR__.'/../vendor/autoload.php'; $infobox = (new WikipediaInfoBoxParser()) ->setArticle('PHP') ->setFormat(Format::PLAIN_TEXT) // ->setFormat(Format::HTML) ->parse(); var_dump($infobox);
array(24) { ["logo"]=> string(12) "PHP-logo.svg" ["logo size"]=> string(5) "100px" ["caption"]=> string(32) "PHP: PHP Hypertext Preprocessors" ["file ext"]=> string(68) ".php, .phtml, .php3, .php4, .php5, .php7, .phps, .php-s, .pht, .phar" ["paradigm"]=> string(63) "Imperative, functional, object-oriented, procedural, reflective" ["released"]=> string(30) "1995; 24 years ago (1995)[1]" ["designer"]=> string(14) "Rasmus Lerdorf" ["developer"]=> string(43) "The PHP Development Team, Zend Technologies" ["Old Name"]=> string(24) "Personal Home Page (PHP)" ["latest release version"]=> string(8) "7.3.7[1]" ["latest release date"]=> string(40) "July 4, 2019; 10 days ago (2019-07-04)" ["latest preview version"]=> string(16) "7.4.0 alpha 3[1]" ["latest preview date"]=> string(40) "July 11, 2019; 3 days ago (2019-07-11)" ["typing"]=> string(13) "Dynamic, weak" ["[[ gradual typingGradual]]<ref>{{cite weburl"]=> string(178) "https://secure.php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration.strict%7Ctitle=PHP: Function arguments - Manual|website=secure.php.net}}</ref>" ["implementations"]=> string(45) "Zend Engine, HHVM, Phalanger, Quercus, Parrot" ["influenced"]=> string(4) "Hack" ["programming language"]=> string(34) "C (primarily; some components C++)" ["operating system"]=> string(18) "Unix-like, Windows" ["license"]=> string(59) "PHP License (most of Zend engine under Zend Engine License)" ["website"]=> string(11) "www.php.net" ["wikibooks"]=> string(15) "PHP Programming" ["_categories"]=> array(19) { [0]=> string(21) "Programming languages" [1]=> string(26) "Articles with example code" [2]=> string(33) "Class-based programming languages" [3]=> string(23) "Cross-platform software" [4]=> string(29) "Dynamic programming languages" [5]=> string(39) "Dynamically typed programming languages" [6]=> string(19) "Filename extensions" [7]=> string(31) "Free compilers and interpreters" [8]=> string(32) "High-level programming languages" [9]=> string(20) "Internet terminology" [10]=> string(37) "Object-oriented programming languages" [11]=> string(12) "PHP software" [12]=> string(3) "PHP" [13]=> string(32) "Procedural programming languages" [14]=> string(37) "Programming languages created in 1995" [15]=> string(19) "Scripting languages" [16]=> string(30) "Software using the PHP license" [17]=> string(35) "Text-oriented programming languages" [18]=> string(13) "1995 software" } ["_links"]=> array(500) { [0]=> string(23) ""Hello, World!" program" [1]=> string(6) "32-bit" [2]=> string(6) "64-bit" [3]=> string(26) "APL (programming language)" [4]=> string(7) "ASP.NET" [5]=> string(20) "Abstract Syntax Tree" [6]=> string(15) "Abstract method" [7]=> string(13) "Abstract type" [8]=> string(21) "Academic Free License" [9]=> string(7) "ActiveX" [10]=> string(19) "Active Server Pages" [11]=> string(11) "Adobe Flash" [12]=> string(18) "Ajax (programming)" [13]=> string(21) "Alternative PHP Cache" [14]=> string(35) "Alternative terms for free software" [15]=> string(19) "Amazon Web Services" [16]=> string(12) "Andi Gutmans" [17]=> string(15) "Andrei Zmievski" /* ... */ } }