ik zou eigenlijk php code moeten kunnen gebruiken in de CKEditor4.
Ik heb de volgende regels al toegevoegd aan config.js maar het werkt niet zoals het moet.
CKEDITOR.config.protectedSource.push(/<\?[\s\S]*?\?>/g);
CKEDITOR.config.extraPlugins = 'showprotected';
De php code, wanneer toegevoegd in de sourcecode stand, blijft als php staan. Dus dat is volgens mij goed maar als ik het dan uitvoer dan krijg ik niets, van wat ik in de php code echo, te zien.
Wat doe ik verkeerd of wat moet ik nog doen?
Dit is de code die ik in de sourcecode van CKEditor heb toegevoegd:
<?php print "test1"; echo "test2";?>
Waarom zou je dat eigenlijk willen? En ook CKeditor is hier niet voor bedoeld omdat het een WYSIWYG-editor is. En al zou het kunnen: De kans dat iemand er gevaarlijke dingen mee uitvoert is meteen een stuk groter.
Gaat het om bepaalde variabelen om bijvoorbeeld een naam te tonen? Maak dan zelf placeholders, zoals [username].
Even een stapje terug.. wat wil je precies met PHP in de CKE editor?
Wil je de editor integreren in je eigen PHP? Of wil je PHP code editen vanuit de editor?
En waar kan ik lezen hoe het zou moeten?
Als ik hier kijk kom ik er niet direct uit..
Ik gebruik de CKEditor om de tekst aan te passen die als mail moet dienen. Het is echter zo dat niet naar iedereen dezelfde tekst moet gestuurd worden. Dit is afhankelijk van bepaalde voorwaarden.
Naargelang welke keuze de persoon eerder heeft gemaakt, welke in de db is opgeslagen moet hij bepaalde gegevens in die mail ontvangen.
Om een klein voorbeeld te geven.
De persoon heeft vooraf de keuze gehad om een bepaald afspreekmoment te kiezen. Naargelang welk afspreekmoment de persoon heeft gekozen moet hij hiervan het afspreekadres ontvangen. Het is echter ook zo dat de standaard tekst ook makkelijk moet kunnen worden aangepast, daarom de CKEditor. Als de standaard tekst altijd hetzelfde was dan was het geen probleem en had ik die CKEditor niet nodig.
Hopelijk is het een beetje duidelijker.
Dan is het denk ik netter om een (eventueel zelf gemaakte) templating engine gebruiken.
Dan kun je "tokens" gebruiken en vertalen naar de daadwerkelijke waarde. Zoiets:
Beste {{voornaam}} {{achternaam}},
Lorem ipsum dolor sit amet.....
In PHP kun je dan met een regex als {{([A-Za-z]\w+)}} die tokens er uit vissen en vervangen door de daadwerkelijke waarde vlak voordat je de mail verstuurd.
Op die manier houd je de PHP code buiten het template. Schoner en ook veiliger.
Toevoeging: Voor je zelf iets in elkaar gaat zetten, kijk eens naar bestaande oplossingen zoals Twig of Mustache