problème de code wmd de démarquage
-
12-09-2019 - |
Question
i m en utilisant l'éditeur de WMD démarquage dans mon projet et j'ai un problème avec les balises de code:
si j'entre un extrait de code, démarquage ne convertit pas en html correctement, il convertit dans les balises « <p>
» tags mais si j'entre un texte d'autre d'abord, puis extrait de code convertit correctement dans « <code>
»
est-ce un bug de l'éditeur wmd de démarquage? et comment puis-je résoudre ce problème?
La solution
Je travaillais en fait sur ce point pour ma version fixe de modifier ADM. L'utilisation regex vous pouvez rapidement élaguer l'attaque et de fuite des balises <p>
qui sont notamment les causers de beaucoup de problèmes:
html = html.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
Pour appliquer cela dans wmd ..
(je vous Asuming utilisez la fourche de SO éditeur WMD) Trouver cette partie du code et le modifier comme suit:
var convertToHtml = function(){
if (wmd.showdown) {
var markdownConverter = new wmd.showdown.converter();
}
var text = inputBox.value;
var callback = function(){
inputBox.value = text;
};
if (!/markdown/.test(wmd.wmd_env.output.toLowerCase())) {
if (markdownConverter) {
inputBox.value = markdownConverter.makeHtml(text);
// Add this line here:
inputBox.value= inputBox.value.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
top.setTimeout(callback, 0);
}
}
return true;
};
Non testé, mais vous devriez avoir l'idée.
Autres conseils
Avec M. T. réponse Stone. Je l'ai fait en armes de destruction massive que j'ai utilisé, pour supprimer
<p> ..article.. </p>
être ..article ..
Et voici le code WMD.js: (ligne: 910)
if (converter) {
text = converter.makeHtml(text);
//new code here
text= text.replace(/^<p>/g, '').replace(/<\/p>$/g, '');
}
je l'ai écrit ceci en réponse parce que je suis très content que ce soit à résoudre mon problème en une semaine. thankyou.