pubconnect / isbn-urn
向 urn:isbn 添加深链接/片段的实验
0.0.4
2024-01-11 09:40 UTC
Requires
- php: >=7
Requires (Dev)
- phpunit/phpunit: ^10.5
README
这是一个实验/草案,旨在使用 urn 格式添加可读的深链接和片段。目标是支持(书籍)出版物在数字和物理方面的使用案例。
提供的基本库和文档允许在各种(开发)环境和应用程序中测试、体验、调整和扩展其可用性。
请在 基础项目 中提出问题和拉取请求。还可以查看该处的扩展 README
安装
composer require pubconnect/isbn-urn
使用方法
CREATE :: 创建一个 URN 字符串
use Pubconnect\IsbnUrn\IsbnUrn; $urnParser = new IsbnUrn(); $urnParser->setNamespaceIdentifier('isbn'); $urnParser->setNamespace('9795363916662'); $urnParser->setTocItem('3.3.3'); $urnParser->setOffset(10, 34); $urnParser->setTextFragment('de lelijke vos sprong in de bosjes'); echo $urnParser->getUrn();
UPDATE :: 更新一个现有的 URN 字符串
use Pubconnect\IsbnUrn\IsbnUrn; $urnString = "urn:isbn:9795363916662"; $urnParser = new IsbnUrn($urnString); $urnParser->setTocItem('4.3.2'); $urnParser->setOffset(0, 340); $urnParser->setTextFragment('de lelijke vos sprong in de bosjes'); echo $urnParser->getUrn(); echo PHP_EOL.PHP_EOL;
PARSE :: 解析 URN 字符串
use Pubconnect\IsbnUrn\IsbnUrn; $urnStrings[] = "urn:isbn:9795363916662"; $urnStrings[] = "urn:isbn:9795363916662?segmentnum=5"; $urnStrings[] = "urn:isbn:9795363916662?tocitem=3.3.3"; $urnStrings[] = "urn:isbn:9795363916662?tocitem=3.3.3#offset(150)"; $urnStrings[] = "urn:isbn:9795363916662?tocitem=3.3.3#offset(10,34)"; $urnStrings[] = "urn:isbn:9795363916662?tocitem=3.3.3#offset(10,34)de+lelijke+vos+sprong+in+de+bosjes"; foreach($urnStrings as $urnString){ $urnParser = new IsbnUrn($urnString); echo "URN: " . $urnParser->getUrn() . PHP_EOL; echo "Namespace Identifier: " . $urnParser->getNamespaceIdentifier() . PHP_EOL; echo "Namespace: " . $urnParser->getNamespace() . PHP_EOL; echo "TOC Item: " . $urnParser->getTocItem() . PHP_EOL; echo "Segment Number: " . $urnParser->getSegmentNum() . PHP_EOL; echo "Offset: "; echo var_export($urnParser->getOffset(), true).PHP_EOL; echo "Text Fragment: " . $urnParser->getTextFragment() . PHP_EOL; echo PHP_EOL.PHP_EOL; }