【发布时间】:2019-11-23 02:28:40
【问题描述】:
我正在尝试转换以下内容的降价:
[Board Management](Boards/boardManagement.md)
使用 Python 处理类似的事情:
<a href='#' onclick='requestPage("Boards/boardManagement.md");'>Board Management</a>
我找到了如下 re.sub 的代码,但我可以让它工作的唯一方法是不在 requestPage 周围包含任何类型的引号,并且浏览器似乎会自动将它们放入...
filteredPage = re.sub('\[(.+)\]\((.+)\)', r"<a href='#' onclick=requestPage('\2');>\1</a>", pageContent)
其中 pageContent 是降价。虽然它似乎有效,但似乎最好不要依赖浏览器进行自动插入,但每次我尝试用引号重写它时,它都不会产生正确的结果。例如,
filteredPage = re.sub('\[(.+)\]\((.+)\)', r"<a href='#' onclick=\"requestPage('\2');\">\1</a>", pageContent)
结果
<a href="#" onclick=\"requestPage('Boards/boardManagement.md');\">Board Management</a>
除了依赖浏览器之外,有没有办法在 onclick 函数周围加上引号来完成所需的链接?
【问题讨论】:
-
最通用的解决方案可能是查看许多现有的 Python Markdown 实现并找到一个支持
onclick属性的实现。例如,Python-Markdown 有一个 attribute lists 扩展名。 -
感谢您的回复。我能够接受您的建议并使其发挥作用。但是,我不希望使用 html 属性来装饰 markdown 文档。降价来自我试图以某种方式从 python 应用程序中提供服务的 github pages 文档。我宁愿在 python 应用程序本身中完成所有处理,而不是依赖贡献者正确地完成所有装饰。我可以使用上面当前的解决方案,但只想知道是否有办法在引号内加上引号。