मैं jQuery फ़्लाई पर एक पाठ क्षेत्र के मान की गणना का उपयोग करें:।php के लिए एक ही परिणाम प्राप्त `` str_len jQuery `.val() लंबाई()` के लिए के रूप में
function count_chars() {
count_chars=$('#text_textarea').val().length;
}
... तो पर फ़ॉर्म को क्रमबद्ध करने के लिए सबमिट करें, टेक्स्टएरा का टेक्स्ट AJAX के माध्यम से एक php फ़ाइल में भेजें जो तब सर्वर की ओर से पाठ को मान्य करता है। हालांकि, मुझे न्यूलाइन और रिक्त स्थान के साथ समस्याएं आईं।
बेशक, अगर मुझे टेक्स्टरेरा से "जैसा है" टेक्स्ट मिलता है, तो PHP प्रत्येक नई पंक्ति को दो या 4 वर्णों (\n
, ...) के रूप में गिना जाएगा।
strlen(str_replace(array("\r", "\n"), ' ', $text)))
या इस:: तो मैं उन्हें कुछ इस तरह से बदलने के लिए करने की कोशिश की
strlen(preg_replace('/\s+/', ' ', trim($text)))
हालांकि, अगर मैं जैसे मिल गया 10 पैराग्राफ और jQuery 2500 वर्ण लौटाते हैं, PHP या तो 2510 या 24 9 0 लौटाएगा, भले ही मैं किसी स्थान के साथ नई लाइनों को प्रतिस्थापित करता हूं या उन्हें पूरी तरह से हटा देता हूं। तो अंतर 20 है, लेकिन केवल 10 नई लाइनें हैं ...?
मुझे क्या याद आ रही है? JQuery के समान परिणाम लौटने के लिए मैं php कैसे प्राप्त कर सकता हूं? समस्या है, PHP में या jQuery में?
आप किस चरित्र एन्कोडिंग का उपयोग करते हैं? आपका क्लाइंट किस ओएस पर चलता है? (विंडोज यूनिक्स की तुलना में अलग-अलग लाइन अंत का उपयोग करता है)। – Maerlyn
@Maerlyn: ठीक है, यह एक वेबसर्वर पर चलेगा जहां मुझे अभी पता नहीं है कि यह खिड़कियां या लिनक्स है, यह सिर्फ होस्टिंग साझा किया गया है ... चरित्र सेट utf8 है, लेकिन क्या इससे कोई फर्क पड़ता है? – Chris
आपको शायद दोनों जगहों पर लाइन फ़ीड्स को सामान्य करना होगा। मुझे नहीं लगता कि जब आप "रिटर्न" हिट करते हैं तो डिफ़ॉल्ट रूप से ब्राउज़र द्वारा डालने वाले ब्राउज़र को नियंत्रित कर सकते हैं। –