2009-07-04 18 views
18

मुझे उदाहरण के लिए अनजाने पाठ में दिलचस्पी है: \ सी में \ पर नक्शा। क्या किसी को अच्छी लाइब्रेरी पता है?सी में एचटीएमएल इकाइयों को कैसे डीकोड करें?

विकिपीडिया List of XML and HTML Character Entity References के संदर्भ में।

+0

string.h के बारे में क्या? –

उत्तर

35

मेरे पास आज कुछ खाली समय था और स्क्रैच से एक डिकोडर लिखा: entities.c, entities.h

बाहरी लिंकेज के साथ ही समारोह

size_t decode_html_entities_utf8(char *dest, const char *src); 

है src एक अशक्त सूचक है, स्ट्रिंग, dest से लिया जाएगा यानी संस्थाओं यथा-स्थान डीकोड किया जाएगा। अन्यथा, डीकोडेड स्ट्रिंग को dest में रखा जाएगा - जो strlen(src) + 1 वर्ण रखने के लिए पर्याप्त बफर को इंगित करना चाहिए - और src अपरिवर्तित होगा।

फ़ंक्शन डीकोडेड स्ट्रिंग की लंबाई वापस कर देगा।

कृपया ध्यान दें कि मैं किसी भी व्यापक परीक्षण, इसलिए वहाँ कीड़ों का एक उच्च संभावना है नहीं किया है ...

+0

नहीं, मेरा मतलब है सभी इकाई संदर्भ; मैंने प्रश्न को उनके साथ एक लिंक के साथ अद्यतन किया है। – FelipeC

+0

@ क्रिस्टोफ, उन्हें जुड़े स्रोत से चुटकी दें। –

+0

और एक अच्छा लड़का होने के लिए +1! –

0

मैं अपने खुद के unescape कोड लिखा है, बहुत सरल, लेकिन नौकरी करता है: pn_util.c

1

इन HTML इकाइयों को डीकोड करने के लिए सी में एक और ओपन सोर्स संदर्भ के लिए आप कमांड लाइन उपयोगिता uni2ascii/ascii2uni देख सकते हैं। प्रासंगिक फाइलें enttbl हैं। {C, h} इकाई लुकअप और putu8.c के लिए जो यूटीएफ 32 से यूटीएफ 8 में परिवर्तित हो जाती है।

uni2ascii

+0

बिल्कुल वही जो मैं खोज रहा था। –

संबंधित मुद्दे