首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标价中的自动命名锚

标价中的自动命名锚
EN

Stack Overflow用户
提问于 2012-09-27 20:17:04
回答 1查看 538关注 0票数 3

我正在使用PHP中的Markdown,并编写了一个regex来自动将文本包装在其中,如果任何<h1>-<h6>标记都带有一个命名锚(<a name="Text">Text</a>)来进行链接。

下面是PHP:

代码语言:javascript
复制
$text = '<p>This is a</p>
   <h1>Test</h1>
   <p>to see if this works </p>';

$regex = '/\<h([0-6]{1})\>(.+)\<\/h[0-6]{1}\>/';

echo preg_replace($regex, '<h$1><a name="$2">$2</a></h$1>', $text);

结果是:

代码语言:javascript
复制
<p>This is a</p>
<h1><a name="Test">Test</a></h1>
<p>to see if this works </p>

这里最重要的是,Markdown重量轻,存储空间简单。手动添加命名锚类型的方法完全违背了使用Markdown的目的。

此方法用于测试目的很好,但我想知道(以下是问题)是否有更好、更多的language-agnostic,方法来完成这一任务。

注意:客户端需要这样做,因为他们觉得即使是原生的Markdown语法也可能疏远他们更“不懂计算机”的用户:# [Text](#Text)。他们只想键入:# Text

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-09-27 20:21:06

考虑到您已经在使用PHP,您应该真正地了解一下减价额外实现。来自MDE文档:

通过附加PHP Markdown,您可以将id属性设置为headers。您应该在行尾的标题后面添加以散列作为前缀的id,如下所示: 头1{# Header 1} ======== ## Header 2 ## {#Header 2} 然后,您可以创建指向同一文档的不同部分的链接,如下所示: 链接回标头1

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12629366

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档