我正在循环浏览一些带有嵌入式文献参考的文本。其中一些是 DOI 号,我需要将它们链接起来。
示例文本:
<div>Interesting article here: doi:10.1203/00006450-199305000-00005</div>
到目前为止我已经尝试过:
$html = preg_replace("\b(10[.][0-9]{4,}(?:[.][0-9]+)*/(?:(?![\"&\'<>])[[:graph:]])+)\b", "<a href='https://doi.org/\\0' target='_new'>doi:\\0</a>",$html);
这将返回一个空字符串。
我期待着:
<div>Interesting article here: <a href='https://doi.org/10.1203/00006450-199305000-00005' target='_new'>doi:10.1203/00006450-199305000-00005</a></div>
我哪里错了?
编辑 2018-01-30:根据 Katrin 在下面的回答更新了 DOI 解析器。