osiris: Array aus Javascript nach Php

Beitrag lesen

Hallo.

Ich muss bei einem Projekt eine externe Javascript-Bibliothek(markitup) einbinden. Diese enthält (je nachdem, was der User für Pakete dieser Bibliothek installiert hat) verschiedene Javascript-Konfigurationsdateien, die immer gleich aufgebaut sind:

  
var mySettings = {  
	onShiftEnter:  	{keepDefault:false, replaceWith:'<br />\n'},  
	onCtrlEnter:  	{keepDefault:false, openWith:'\n<p>', closeWith:'</p>'},  
	onTab:    		{keepDefault:false, replaceWith:'    '},  
	markupSet:  [ 	  
		{name:'Bold', key:'B', openWith:'(!(<strong>|!|<b>)!)', closeWith:'(!(</strong>|!|</b>)!)' },  
		{name:'Italic', key:'I', openWith:'(!(<em>|!|<i>)!)', closeWith:'(!(</em>|!|</i>)!)'  },  
		{name:'Stroke through', key:'S', openWith:'<del>', closeWith:'</del>' },  
		{separator:'---------------' },  
		{name:'Bulleted List', openWith:'    <li>', closeWith:'</li>', multiline:true, openBlockWith:'<ul>\n', closeBlockWith:'\n</ul>'},  
		{name:'Numeric List', openWith:'    <li>', closeWith:'</li>', multiline:true, openBlockWith:'<ol>\n', closeBlockWith:'\n</ol>'},  
		{separator:'---------------' },  
		{name:'Picture', key:'P', replaceWith:'<img src="[![Source:!:http://]!]" alt="[![Alternative text]!]" />' },  
		{name:'Link', key:'L', openWith:'<a href="[![Link:!:http://]!]"(!( title="[![Title]!]")!)>', closeWith:'</a>', placeHolder:'Your text to link...' },  
		{separator:'---------------' },  
		{name:'Clean', className:'clean', replaceWith:function(markitup) { return markitup.selection.replace(/<(.*?)>/g, "") } },		  
		{name:'Preview', className:'preview',  call:'preview'}  
	]  
}  

Das ist leider kein JSON und daran kann ich auch nichts ändern. Nun will ich aber die eizelnen Optionen unter einer Konfigurationsoberfläche in php zur Verfügung stellen und will dieses Objekt in Php umwandeln.

Dazu will ich nicht erst die js-Datei lokal ausführen, das Objekt jsonifizieren und dann per POST an den Server schicken, sondern Php sollte den Inhalt der JS-Datei als String einlesen und dann loszaubern.

Hat jemand eine Idee, wie das elegant zu lösen ist, außer mit vielen Schleifen und regexen über den String zu laufen?

mfg,
Marc