PHP 中的 CSL 参考书目
Bibliography in PHP with CSL
我正在尝试在 PHP 中显示参考书目并允许使用 CSL 对其进行格式化,但我没有找到如何实现它的好例子。基本上,我正在寻找一个库或脚本,它可以采用 Bibtex 或 JSON 或类似形式的参考书目,并将其输出为 HTML 到 PHP.
使用 CSL 格式化,例如 citeproc-php,将适应各种各样的输出样式。有谁知道这方面的任何示例,或者这样做的最新库?
citeproc-php 的作者在 GitHub 上回答了一个问题并提供了一些细节:
<?php
include 'vendor/autoload.php';
use \AcademicPuma\CiteProc\CiteProc;
$bibliographyStyleName = 'apa';
$lang = "en-US";
$csl = CiteProc::loadStyleSheet($bibliographyStyleName);
$citeProc = new CiteProc($csl, $lang);
$file = file_get_contents("citations.json");
$data = json_decode($file);
echo "<ul>";
foreach ($data as $item) {
echo "<li>".$citeProc->render($item)."</li>";
}
echo "</ul>";
?>
这与来自 citeproc-js 的示例 citations.json 的预期一样有效。
我正在尝试在 PHP 中显示参考书目并允许使用 CSL 对其进行格式化,但我没有找到如何实现它的好例子。基本上,我正在寻找一个库或脚本,它可以采用 Bibtex 或 JSON 或类似形式的参考书目,并将其输出为 HTML 到 PHP.
使用 CSL 格式化,例如 citeproc-php,将适应各种各样的输出样式。有谁知道这方面的任何示例,或者这样做的最新库?
citeproc-php 的作者在 GitHub 上回答了一个问题并提供了一些细节:
<?php
include 'vendor/autoload.php';
use \AcademicPuma\CiteProc\CiteProc;
$bibliographyStyleName = 'apa';
$lang = "en-US";
$csl = CiteProc::loadStyleSheet($bibliographyStyleName);
$citeProc = new CiteProc($csl, $lang);
$file = file_get_contents("citations.json");
$data = json_decode($file);
echo "<ul>";
foreach ($data as $item) {
echo "<li>".$citeProc->render($item)."</li>";
}
echo "</ul>";
?>
这与来自 citeproc-js 的示例 citations.json 的预期一样有效。