वास्तव में यह पैच libxml2
पहले (यह वाकथ्रू अजगर 2.7.3 के साथ उबंटू 11.04 पर किया गया था) एक परीक्षण कार्यक्रम wbr_test.py
परिभाषित करने के लिए मुश्किल नहीं है python wbr_test.py
चल रहा है। इसे <\body>
से पहले डालना चाहिए, और अंत में not ok
प्रिंट करें।
डाउनलोड, निकालने और संकलन libxml2
:
wget ftp://xmlsoft.org/libxml2/libxml2-2.8.0.tar.gz
tar xvf libxml2-2.8.0.tar.gz
cd libxml2-2.8.0/
./configure --prefix=/usr
make -j8 # adjust number to match your number of cores
स्थापित करें, और अजगर libxml2 बाइंडिंग स्थापित:
sudo make install
cd to_python_bindings
sudo python setup.py install
परीक्षण आपके wbr_test.py
एक बार फिर, यकीन है कि यह नवीनतम libxml2 संस्करण के साथ विफल रहता है बनाने के लिए।
पहले HTMLparser.c
की एक प्रति बनाएं उदा। /var/tmp
में।
अब libxml2 स्रोत के अपूर्ण पर फ़ाइल HTMLparser.c को संपादित करें। forced
शब्द (केवल एक घटना) के लिए खोजें। आप <br>
टैग परिभाषा पर होंगे। आपको मिली लाइन से शुरू होने वाली तीन पंक्तियों की प्रतिलिपि बनाएँ।सबसे उचित डालने बिंदु अंत से पहले (<var>
की परिभाषा के बाद) है। तालिका में अंतिम अल्पविराम प्राप्त करने के लिए केवल '}'
के साथ तीन पंक्तियों को डालें, '};'
वाला कोई नहीं।
नव डाला कोड में wbr
साथ br
बदलें और NULL
(यह मानते हुए कि एक नए टैग को अनुमति दी गुण नहीं है) करने के लिए DECL clear_attrs
बदल जाते हैं।
परिणाम /var/tmp
(diff -u HTMLparser.c /var/tmp
) में संस्करण के साथ diff चाहिए इस प्रकार है:
@@ -1039,6 +1039,9 @@
},
{ "var", 0, 0, 0, 0, 0, 0, 1, "instance of a variable or program argument",
DECL html_inline, NULL, DECL html_attrs, NULL, NULL
+},
+{ "wbr", 0, 2, 2, 1, 0, 0, 1, "possible line break ",
+ EMPTY , NULL , DECL core_attrs, NULL , NULL
}
};
मेक और स्थापित:
make && sudo make install
परीक्षण आपके wbr_test.py
एक बार फिर। OK
मुझे आपके आवेदन की जानकारी नहीं है, लेकिन क्या आप आसानी से बंद टैग हटा सकते हैं? –