حفظ محتويات عنصر تحكم محرر أسلحة الدمار الشامل

StackOverflow https://stackoverflow.com/questions/125911

  •  02-07-2019
  •  | 
  •  

سؤال

أحاول تنفيذ محرر أسلحة الدمار الشامل المستخدم في StackOverflow لإنشاء بعض الوظائف الأساسية على نمط Wiki.لقد وصلت إلى النقطة التي حان وقت الحفظ فيها في قاعدة البيانات، لكنني غير متأكد مما يجب علي حفظه.

إذا قمت بحفظ HTML الذي تم إنتاجه، فيمكنني استرداده وعرضه بشكل صحيح، ولكن عند إعادة التحرير، أواجه تحرير HTML، وليس Markdown.ومع ذلك، إذا قمت بحفظ Markdown، فلا يمكنني رؤية أي طريقة لتحويله مرة أخرى إلى HTML لعرضه، وبالنظر إلى StackOverflow فإنه يرسل HTML للمتصفح.

أعتقد أنني لست بحاجة إلى حفظ كليهما، فما الشيء البسيط الذي أفتقده؟

هل كانت مفيدة؟

المحلول

احفظ رمز Markdown تمامًا كما أدخله المستخدم.

بعد ذلك ستحتاج إلى محول Markdown الذي سيحوله إلى HTML لعرضه.

ستجد مجموعة من هذه في
http://en.wikipedia.org/wiki/Markdown#Converters
و
http://markdown.infogami.com/

سأصوت ضد استخدام JS في حالتك.يبدو أن هناك أ تنفيذ صافي لكن لا أستطيع أن أخبرك كم هو جيد.

أثناء عرض صفحتك، سيتعين عليك تمرير كود Markdown إلى محول مثل ما ورد أعلاه ثم إخراج HTML الذي تم إرجاعه.

إذا كان الأداء يمثل مشكلة، فقد تفكر أيضًا في حفظ كل من رمز Markdown (للتحرير لاحقًا) ورمز HTML (للعرض) في قاعدة البيانات.وبهذه الطريقة سيتم تحويله مرة واحدة فقط.

نصائح أخرى

أود أن أقترح حفظ النص الذي تم إدخاله بالضبط في قاعدة البيانات، بحيث يعمل التحرير مع تخفيض السعر الأصلي أو HTML.

عند استرداد النص للعرض، يمكنك تحليله على جانب الخادم وتحويله إلى HTML عند الضرورة

تحرير] في التعليق:يبدو أن لديك طريقة للتحليل والتحويل إلى HTML بالفعل، إذا فهمت سؤالك بشكل صحيح.هنا تتحدث عن HTML المنتج.

إذا قمت بحفظ HTML الذي تم إنتاجه، فيمكنني استرداده وعرضه بشكل صحيح، ولكن عند إعادة التحرير، أواجه تحرير HTML، وليس Markdown

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top