Analysieren Sie CFML-Tags in PHP

Lesezeit: 3 Minuten

Analysieren Sie CFML Tags in PHP
Snekse

Hintergrund:

Ich bin gerannt eine Seite auf der Blogger-Plattform für die letzten 5 Jahre. Ich nutzte die Option, die Site auf meinem eigenen Server zu hosten und über FTP zu veröffentlichen. Auf meinem Server läuft ColdFusion, also habe ich beschlossen, davon zu profitieren. Ich habe benutzerdefinierte Coldfusion-Tags erstellt, die zusätzliche Funktionen bieten, und diese in viele meiner Posts aufgenommen – um es klar zu sagen, die Karosserie meiner Beiträge. Google hat beschlossen, den Zugriff auf diese FTP-Veröffentlichungsoption zu sperren. Ich nahm diese Nachricht als Vorwand, um zu WordPress zu wechseln. Jetzt muss ich herausfinden, was ich mit all diesen ColdFusion-Tags in meinen Beiträgen tun soll.

Problem:

Ich möchte die Funktionalität der benutzerdefinierten Tags, die ich in meine Posts eingebettet habe, nicht verlieren. Meine primäre Frage ist, was ist der beste Weg, um Funktionen zu einer PHP-Site mit benutzerdefinierten Tags hinzuzufügen? Mein ursprünglicher Plan war, zu versuchen, die Seite zu parsen, um die Tags zu finden, und dann eine PHP-Klasse zu schreiben, um im Grunde die Funktionalität nachzuahmen, die von der Coldfusion-Datei bereitgestellt wird. Ich weiß nicht viel über PHP, daher bin ich mir nicht sicher, welche Tools oder Bibliotheken da draußen sind, um das zu erleichtern. Oder wenn es nur eine dumme Idee ist. Dies sind keine wohlgeformten XML-Dateien, daher brauche ich etwas ziemlich Robustes.

Beispiel:

Ich verwende folgendes Tag:

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

um eine Reihe zu erstellen <a..>Tag#</a> Elemente, die mit Technorati oder was auch immer ich entscheide (daher der Vorteil, ein benutzerdefiniertes Tag zu haben – sehr einfach, Verhalten zu ändern). Die Lösung für dieses Problem könnte wirklich jeder Link verarbeiten können, also wenn ich einen habe <stackoverflowLink post="3944091"/> Tag, sollte ich in der Lage sein, das zu übersetzen

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

Analysieren Sie CFML Tags in PHP
Snekse

Momentan tendiere ich zu den Benutzerdefinierte Tags Bibliothek, die in diesem Beitrag als Antwort erwähnt wird. Eine der besten Funktionen ist die Unterstützung für vergrabene oder verschachtelte Tags wie den folgenden Codeblock:

<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>

Ich empfehle dringend, die ZIP-Datei herunterzuladen und die darin enthaltenen Beispiele durchzusehen.

  • Wo war das, als ich nach einem ähnlichen System gesucht habe?

    – EAMann

    15. Oktober 2010 um 22:12 Uhr

  • Da ich WordPress verwende, habe ich mich entschieden, Kurzwahlnummern zu verwenden ( codex.wordpress.org/Shortcode_API ), da die Funktionalität bereits integriert war. Das Problem mit Shortcodes, das ich noch nicht lösen konnte, besteht darin, einen 3-teiligen Code zu erstellen, z [if][else][endif].

    – Snekse

    5. Dezember 2011 um 22:44 Uhr

  • Ich würde stark empfehlen gegen Verwenden von Shortcodes zum Erstellen von benutzerdefiniertem Markup aus den hier beschriebenen Gründen: justintadlock.com/archives/2011/05/02/…

    – EAMann

    5. Dezember 2011 um 22:53 Uhr


  • @EAMann – Ich verstehe seine Argumente auf jeden Fall: A) Dies ist meine eigene Vorlage für meinen persönlichen Gebrauch, die niemals verteilt werden darf, daher mache ich mir keine Sorgen um das Lock-in. B) Meine Funktionscodes führen eine komplexe serverseitige Logik aus, keine einfache HTML-Ersetzung, daher könnte ich sie nicht durch HTML ersetzen, wenn ich wollte. Howeverwenn ich die Bibliothek für benutzerdefinierte Tags hätte zum Laufen bringen können, denke ich, dass dies ein besserer Weg ist, WordPress-Lock-in zu verhindern.

    – Snekse

    5. Dezember 2011 um 23:18 Uhr

  • Eigentlich hast du mich bei Punkt A überzeugt. Solange es nicht verteilt wird, ist es deine Sache. Ich schaudere nur, wenn Leute zu allem, was sie verschenken, viele benutzerdefinierte Shortcodes hinzufügen …

    – EAMann

    6. Dezember 2011 um 0:31 Uhr

1004680cookie-checkAnalysieren Sie CFML-Tags in PHP

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy