微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在PHP中解析CFML标签

背景:

在过去的5年中,我一直在Blogger平台上运行a site.我曾使用将站点托管在自己的服务器上的选项,通过FTP发布.我的服务器正在运行ColdFusion,因此我决定利用它.我创建了Coldfusion自定义标签,该标签提供了其他功能,并且在许多may帖子中都包含了这些标签-显然,这些帖子的正文. Google决定关闭对该FTP发布选项的访问.我以那个消息为借口转向了wordpress.现在,我必须弄清楚如何处理我帖子中的所有ColdFusion标签.

问题:

我不想失去嵌入到帖子中的自定义标签所提供的功能.我的主要问题是使用自定义标签PHP网站添加功能的最佳方法是什么?我最初的计划是尝试解析页面以找到标签,然后编写一个PHP类来基本上模仿Coldfusion文件提供的功能.我对PHP不太了解,所以我不确定有哪些工具或库可以促进这一工作.或者,如果这只是一个愚蠢的想法.这些不是格式正确的XML文件,因此我需要一些功能强大的文件.

例:

我使用以下标签

<cf_taglinks>Tag1, Tag2, Tag3</cf_taglinks> 

生成一系列的< a ..> Tag#< / a>链接到technorati或我决定的内容的元素(因此拥有自定义标签的好处-非常容易更改行为).该问题的解决方案实际上可以处理任何链接,因此如果我有< stackoverflowLink post =“ 3944091” />标签,我应该可以将其翻译成

<a href="https://stackoverflow.com/posts/3944091/" 
     target="_blank">Stackoverflow Question: 3944091</a>

解决方法:

现在,我倾向于Custom Tagsmentioned in this post作为答案.最好的功能之一是支持埋藏或嵌套标签,例如下面的代码块:

<ct:upper type="all">
    This text is transformed by the custom tag.<br />
    Using the default example all the characters should be made into uppercase characters.<br />
    Try changing the type attribute to 'ucwords' or 'ucfirst'.<br />
    <br />
    <ct:lower>
        <strong>ct:lower</strong><br />
        THIS IS LOWERCASE TEXT TRANSFORMED BY THE ct:lower CUSTOM TAG even though it's inside the ct:upper tag.<br />
        <BR />
    </ct:lower>
</ct:upper>

我强烈建议下载zip文件并浏览其中包含的示例.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐