背景:解析CFML標籤在PHP
我一直在運行的博客平臺上a site在過去的5年。我正在使用在我自己的服務器上託管網站的選項,通過FTP發佈。我的服務器正在運行ColdFusion,所以我決定利用它。我創建了Coldfusion自定義標籤,它提供了額外的功能,幷包含許多可能的帖子 - 要清楚,我的帖子的正文。谷歌決定關閉此FTP發佈選項的訪問權限。我以這個消息爲藉口轉向WordPress。現在我必須弄清楚我的帖子中的所有ColdFusion標籤該怎麼做。
問題:
我想不鬆通過我已經嵌入到我的職位,自定義標記提供的功能。我的主要問題是使用自定義標籤向PHP網站添加功能的最佳方式是什麼?我最初的計劃是嘗試解析頁面以找到標記,然後編寫一個PHP類來基本模仿Coldfusion文件提供的功能。我對PHP不太瞭解,所以我不確定有哪些工具或庫可以幫助實現。或者,如果這只是一個愚蠢的想法。這些不是格式良好的XML文件,所以我需要一些相當強大的功能。
例:
我使用以下標記:
<cf_taglinks>Tag1, Tag2, Tag3</cf_taglinks>
以產生一系列鏈接到Technorati的或任何我決定(因此具有定製標記的益處<a..>Tag#</a>
元件 - 很容易改變行爲)。對於這個問題的解決可能真的能夠處理任何聯繫,所以如果我有一個<stackoverflowLink post="3944091"/>
標籤,我應該可以翻譯成
<a href="http://stackoverflow.com/posts/3944091/"
target="_blank">Stackoverflow Question: 3944091</a>
這是什麼時候[我正在尋找一個類似的系統](http://stackoverflow.com/questions/3723752/where-do-i-start-when-writing-a-new-scripting-language)? – EAMann 2010-10-15 22:12:43
因爲我使用的是WordPress,所以我決定嘗試使用短代碼(http://codex.wordpress.org/Shortcode_API),因爲它已經內置了功能。我無法解析短代碼的問題但是正在做一個3部分的代碼,比如[if] [else] [endif]。 – Snekse 2011-12-05 22:44:52
我會*強烈*推薦*針對*使用簡碼創建自定義標記的原因在這裏概述:http://justintadlock.com/archives/2011/05/02/dealing-with-shortcode-madness – EAMann 2011-12-05 22:53:19