login  Naam:   Wachtwoord: 
Registreer je!
 Forum

[TinyMCE 4] 2 problemen (Opgelost)

Offline Wijnand - 30/08/2013 17:01
Avatar van WijnandModerator Ik gebruik TinyMCE op dit moment en ik loop tegen 2 dingen aan.

1. Als ik <?php toevoeg wordt dit netjes veranderd in &lt;?php. Als ik dit opgeslagen hebt komt het ook goed in de database. Maar als ik het dan weer in TinyMCE zet (als ik iets wil bewerken), dan wordt het veranderd naar <!--?php
Dit wil ik niet. Ik wil dat hij gewoon &lt;?php blijft.

2. Als ik een tab toevoeg in TinyMCE dan wordt deze er automatisch uitgefilterd. Zowel bij opslaan of als ik dit doe:

  1. ed.on('change', function(ed,e) {
  2. console.log(tinyMCE.activeEditor.getContent().replace(' ',' '));
  3. });


Ook dit wil ik niet, want tabs moeten gewoon tabs zijn of eventueel naar 4 spaties gewijzigd worden.

11 antwoorden

Gesponsorde links
Offline vinTage - 30/08/2013 18:36 (laatste wijziging 30/08/2013 18:37)
Avatar van vinTage Nieuw lid Als ik het content inlaad in tinymce via htmlspecialchars, dan gaat alles goed.

die tabs replacen met 4x &nbsp; ?
Offline UpLink - 30/08/2013 18:37
Avatar van UpLink ... Is dit iets Wijnand?

http://www.tiny...on:protect
Offline Wijnand - 02/09/2013 14:53
Avatar van Wijnand Moderator @UpLink, die had ik al bekeken, maar is het tegenovergestelde. Je kunt er bepaalde dingen juist mee blokkeren.

@vinTage, ik zal htmlspecialchars later even bekijken. Verder die tabs replacen, dat probeer ik dus te doen, maar dat werkt niet :-).
Offline WouterJ - 02/09/2013 16:36
Avatar van WouterJ HTML gevorderde Tab replacen, werkt dit niet:
  1. console.log(tinyMCE.activeEditor.getContent().replace(/\t/,' '));


En over dat <?php -> &lt;php gedoe. Dat moet je pas doen wanneer je het uit de database haalt. Je moet altijd proberen de user input raw in de db te stoppen en hem dan te parsen als je het uit de DB haalt en wilt tonen op het scherm. Voor de snelheid zou je eventueel nog een 2e veld kunnen maken met de geparset tekst.
Offline Wijnand - 02/09/2013 16:55
Avatar van Wijnand Moderator @WouterJ

Tab replace: als ik dat invul (ik had soortgelijke tekst) dan werkt het niet. Als ik 'm wijzig (en die console log wordt aangeroepen), dan filtert hij gelijk de tabs eruit. :-(

  1. ed.on('change', function(ed,e) {
  2. console.log(tinyMCE.activeEditor.getContent().replace(/\t/,' '));
  3. //console.log(tinyMCE.activeEditor.getContent().replace(/\t/,' '));
  4. tinyMCE.activeEditor.setContent(tinyMCE.activeEditor.getContent().replace(/\t/,'&nbsp;&nbsp;&nbsp;&nbsp;'));
  5. });


Die <?php enzo.. die staat nu &lt;?php in de database, eerder niet, maar ben gewoon van alles aan het proberen.

Verder is het gewoon raar!
Offline vinTage - 02/09/2013 23:33 (laatste wijziging 02/09/2013 23:43)
Avatar van vinTage Nieuw lid
Wijnand schreef:
Verder die tabs replacen, dat probeer ik dus te doen, maar dat werkt niet :-).


Misschien gaat het dan niet goed met de sima code parser, maar spaties is niet hetzelfde als &nbsp; (al zullen die 'spaties' dan hoogst waarschijnlijk ook als leesbare text getoond worden..?)
Verder als je code aan het typen bent (waarom wil je anders tabs?) en je typt ctrl+t dan krijg je normaliter een ander tabblad 

Net getest met mn eigen cms'je, maar als ik een codeblok (met tabs etc) copy/past, dan krijg ik alles intended terug te zien..   


edit: nog een gokje, replacen met \x09
Bedankt door: Wijnand
Offline Wijnand - 03/09/2013 10:14
Avatar van Wijnand Moderator @vinTage: tab -> werkt... het was inderdaad &nbsp;&nbsp;&nbsp;&nbsp; Zo moeilijk was het dus niet. Bedankt joh!

Nu nog het tweede probleem :-)
Offline marten - 03/09/2013 10:21
Avatar van marten Beheerder Je hebt in TinyMCE een optie met welke tags eruit gehaald worden en welke niet. Staat de tab hier misschien in?
Offline Wijnand - 03/09/2013 10:40
Avatar van Wijnand Moderator De tab is nu opgelost...

2de probleem is het probleem met <!--?php
Offline marten - 03/09/2013 10:47
Avatar van marten Beheerder Kan je hier wat mee?
http://www.tiny...on:protect
Offline Wijnand - 03/09/2013 11:11 (laatste wijziging 04/09/2013 16:21)
Avatar van Wijnand Moderator Nee, daarmee bereik je het tegenovergestelde juist...


Oplossing was inderdaad htmlspecialchars() voor de eerste en de tabs replacen met 4 spaties (&nbsp;).
Gesponsorde links
Je moet ingelogd zijn om een reactie te kunnen posten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.188s