2010-10-15 6 views
1

фон:Анализировать CFML теги в PHP

Я бегущие a site на блогера платформе в течение последних 5 лет. Я использовал вариант размещения сайта на своем собственном сервере, публикуя через FTP. На моем сервере работает ColdFusion, поэтому я решил воспользоваться этим. Я создал теги Coldfusion, которые обеспечивали дополнительную функциональность и включали те, что были во многих сообщениях с сообщениями - чтобы быть ясным, тело моих сообщений. 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="http://stackoverflow.com/posts/3944091/" 
    target="_blank">Stackoverflow Question: 3944091</a> 

ответ

1

Сейчас я склоняюсь к Custom Tags библиотеке mentioned 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> 

Я настоятельно рекомендую скачать почтовый файл и просматривая примеры, которые он содержит.

+0

Где это было, когда [я искал аналогичную систему] (http://stackoverflow.com/questions/3723752/where-do-i-start-when-writing-a-new-scripting-language)? – EAMann

+0

Поскольку я использую WordPress, я решил попробовать использовать короткие коды (http://codex.wordpress.org/Shortcode_API), так как это была уже встроенная функция. Проблема с короткими кодами, которые я не смог решить но делает 3 части кода, например [if] [else] [endif]. – Snekse

+0

Я бы * сильно * рекомендую * против * использовать короткие коды для создания пользовательской разметки по причинам, изложенным здесь: http://justintadlock.com/archives/2011/05/02/dealing-with-shortcode-madness – EAMann

Смежные вопросы