لقد لاحظت أن المحلل اللغوي يغير كل شيء إلى أحرف صغيرة ، وهو أمر سيء بالنسبة لي لأن لدي بعض العلامات الحساسة لحالة الأحرف.
هل هناك طريقة لمنع هذا؟
هل يمكنني أن أسأل عن مثال لهذه المشكلة؟ من الناحية الفنية ، ألا يجب أن تكون علامات وسمات HTML حساسة لحالة الأحرف ؟
ولكن فيما يتعلق بالسؤال المطروح ، يقوم المحلل اللغوي بتقليل الأحرف الصغيرة للسمات لتسهيل تحويلها إلى عناصر React (انظر هنا ).
إذا أردنا الاحتفاظ بأسماء السمات دون تغيير ، فيمكننا تقنيًا الاحتفاظ بمفتاح السمة الأصلي بدلاً من استبداله هنا .
في الواقع ، يتم تقليل السمات عند تحويل سلسلة HTML إلى عقد DOM. يأتي هذا من html-dom-parser ، والذي يستخدم htmlparser2 تحت الغطاء (عند استخدامه مع Node.js).
أنا منفتح على جعل هذه الخيارات قابلة للتكوين.
آسف لإحياء هذه المشكلة ، لكني أستخدم هذه الحزمة وأحتاج إلى العلامات لتكون علبة الجمل ، لأن C # ستحللها لاحقًا (أعلم ، أنها فوضوية ، وليس الكود الخاص بي ولا يمكنني تغييره) ... لقد قرأت المستندات htmlparser2
وهناك خيار lowerCaseTags
، هل يكفي لمنع العلامات من أن تكون منخفضة الأحرف؟
thismarcoantonio هناك
لإعطائك تحديثًا thismarcoantonio ، اتضح أن رقم 79 انتهى به الأمر إلى عدم الاندماج.
فيما يتعلق بسؤالك حول العلامات التي تكون حالة الجمل ، هل تشير إلى ترميز HTML الأولي الذي يتم تمريره إلى المحلل اللغوي؟
نعم ، هذه العلامات مثل: <someText: someOtherCodeHere />
. أعلم أنه أمر غريب ، لكن في حالتي ، أستخدم المحلل اللغوي للحصول على هذه العلامات في React ثم استخدم renderToString
من react-dom/server
للحصول على كود الإخراج الخاص بي ، وانتهى بي الأمر بـ <sometext: someothercodehere></sometext: someothercodehere>
. في ملحق React chrome ، يكون عنصري شيئًا مثل: createElement('sometext: someothercodehere')
مشكلة أخرى تتعلق بهذا: تحليل سلسلة تحتوي على سمات onclick أو viewbox ، هذه السمات غير صالحة في React لأن React تستخدم onClick و viewBox بدلاً من ذلك ، لذلك في تحويل السمات من سلسلة html إلى مكونات React ، يجب تحويلها إلى حالة الجمل أو كسروا. سيكون من الجيد أن تحدث هذه التحويلات بشكل افتراضي ، ولكن بدلاً من ذلك ، إذا كان بإمكانك توفير خيار لاستبدال السمات التي من شأنها أن تعمل.
remarkablemark هل من تحديثات بخصوص هذه المسألة؟
أواجه مشكلة مماثلة ولكن في حالتي ، فإن السلسلة المطلوب تحليلها تشبه
Hello world <HighlightMe>Text to be highlighted</HighlightMe>
حيث HighlightMe
مكون مخصص.
في الأساس ، أحتاج إلى مساعدة في تحليل السلسلة التي تحتوي على مكونات مخصصة.
أنا أعمل على هذه المشكلة ، فأنا أقوم حاليًا بترميز شوكة نظيفة من htmlparser2 و parse5 للانضمام إلى كل من الخوارزمية ، وستتمكن بعد ذلك من استخدام محول dom رد فعل parse5 الذي سيعتمد على قاعدة الكود هذه
في html-react-parser
v0.12.0 ، يمكنك تمرير خيارات htmlparser2
عند التحليل على جانب الخادم (Node.js):
$ node
> const parse = require('html-react-parser');
> parse('<FooBar>baz</FooBar>', { htmlparser2: { lowerCaseTags: false } });
{
'$$typeof': Symbol(react.element),
type: 'FooBar',
key: null,
ref: null,
props: { children: 'baz' },
_owner: null,
_store: {}
}
راجع README.md أو Repl.it demo أو سحب الطلب # 161 لمزيد من المعلومات.
لقد قمت أيضًا بتحديث الأسئلة الشائعة لـ README
التعليق الأكثر فائدة
أنا أعمل على هذه المشكلة ، فأنا أقوم حاليًا بترميز شوكة نظيفة من htmlparser2 و parse5 للانضمام إلى كل من الخوارزمية ، وستتمكن بعد ذلك من استخدام محول dom رد فعل parse5 الذي سيعتمد على قاعدة الكود هذه