दिलचस्प पोस्ट
Android startCamera मुझे नल आशय देता है और … यह मेरे वैश्विक चर को नष्ट करता है? HTTP POST रिटर्न त्रुटि: 417 "उम्मीद विफल।" नक्शा देखें Google दिशानिर्देश API – डिकोडिंग पॉलीलाइन का उपयोग करके दिशाओं को आकर्षित करें सीएसएस या jquery पर ध्यान केंद्रित करने पर मैं कैसे प्लेसहोल्डर पाठ को स्वत: लटका सकता हूं? एंड्रॉइड पर एक सूचीईव्यू कैसे गतिशील रूप से अद्यतन करें कॉलिंग कंसोल। एकाधिक धागे से लिखें लाइन उद्देश्य-सी में #import और #include के बीच अंतर क्या है? किसी सर्वर पर अपलोड करने से पहले आईफोन ओएस एसडीके पर छवि को कैसे सेकेंड / रीसाइज करना है? जावा रेगेक्स कैप्चरिंग समूह बाईं ओर से एक एंड्रॉइड स्लाइडिंग ड्रॉवर स्लाइड कैसे बनाई जाए? लंबे समय से चलने वाली PHP स्क्रिप्ट के लिए प्रगति दिखाएं JQuery के datepicker के साथ विशिष्ट श्रेणी में दिनांक हाइलाइट करें टाइमर और टाइमर टास्क बनाम थ्रेड + नींद में जावा एंड्रॉइड ऐप के नाम को कैसे बदला जाए? RestSharp JSON पैरामीटर पोस्टिंग

सीएसएस / जेएस में शब्द लपेटो

मैं एक क्रॉस-ब्राउजर तरीका तलाश रहा हूं जो लंबे समय तक पाठों को लपेटने का तरीका है जिसमें divs के अंदर पूर्व निर्धारित चौड़ाई वाली कोई ब्रेकिंग रिक्त स्थान नहीं है (जैसे लम्बे यूआरएल)।

यहां कुछ समाधान दिए गए हैं जो मुझे वेब के आसपास मिले हैं और वे मेरे लिए काम क्यों नहीं करते हैं:

  • अतिप्रवाह: छिपा / स्वत: / स्क्रॉल – मुझे स्क्रॉल करने के बिना दृश्यमान होने के लिए पूरे पाठ की आवश्यकता है Div खड़ी बढ़ सकता है, लेकिन क्षैतिज रूप से नहीं।
  • इंजेक्शन और शर्मीली; जेएस / सर्वर-साइड के माध्यम से स्ट्रिंग में – और शर्मीली; अब एफएफ 3 द्वारा समर्थित है, लेकिन एक और शर्मीली के साथ यूआरएल को कॉपी और चिपका रहा है; बीच में सफारी में काम नहीं करेगा इसके अलावा, मेरे ज्ञान के लिए, इन पात्रों को जोड़ने के लिए सबसे अच्छा स्ट्रिंग ऑफ़सेट पता करने के लिए टेक्स्ट चौड़ाई को मापने का एक साफ तरीका नहीं है (एक हैकी तरीके से, अगले आइटम देखें)। एक और समस्या यह है कि फ़ायरफ़ॉक्स और ओपेरा में ज़ूमिंग आसानी से टूट सकती है।
  • एक छिपी हुई तत्व में डंपिंग टेक्स्ट और ऑफ़सेटविड्थ को मापने – ऊपर दिए गए आइटम से संबंधित, इसमें स्ट्रिंग में अतिरिक्त वर्ण जोड़ने की आवश्यकता है साथ ही, पाठ के लंबे शरीर में आवश्यक ब्रेक की मात्रा को मापने के लिए आसानी से हजारों महंगा महंगे DOM प्रविष्टि (प्रत्येक उप-लंबाई लंबाई के लिए) की आवश्यकता हो सकती है, जो साइट को प्रभावी ढंग से फ्रीज कर सकती थी।
  • एक मोनोस्पेस फोंट का उपयोग करके – फिर से, ज़ूमिंग की गड़बड़ी चौड़ाई की गणना कर सकते हैं, और पाठ को आज़ादी से स्टाइल नहीं किया जा सकता है

चीज़ें जो आशाजनक दिखती हैं लेकिन काफी नहीं हैं:

  • शब्द-लपेटो: ब्रेक-वर्ड- यह अब CSS3 के काम के मसौदे का हिस्सा है , लेकिन यह फ़ायरफ़ॉक्स, ओपेरा या सफ़ारी या तो इसके द्वारा समर्थित नहीं है। आज यह सभी ब्राउज़रों में काम करने पर यह आदर्श समाधान होगा 🙁
  • जेएस / सर्वर-साइड के माध्यम से स्ट्रिंग में <wbr> टैग को इंजेक्शन लगाने – यूआरएल को नकल और चिपकाने के लिए सभी ब्राउज़रों में काम करता है, लेकिन मुझे अब यह पता लगाने का अच्छा तरीका नहीं है कि ब्रेक कहाँ लगाया जाए। साथ ही, यह टैग HTML को अमान्य करता है
  • प्रत्येक चरित्र के बाद टूट जोड़ना – यह हजारों DOM प्रविष्टियों से बेहतर है, लेकिन अभी भी आदर्श नहीं है (एक दस्तावेज़ में DOM तत्वों को जोड़ना स्मृति को खाती है और अन्य बातों के अलावा चयनकर्ता प्रश्नों को धीमा कर देता है)।

क्या इस समस्या से निपटने के लिए किसी के पास और अधिक विचार हैं?

वेब के समाधान से एकत्रित समाधान "सीएसएस / जेएस में शब्द लपेटो"

सीएसएस यो!

.wordwrap { white-space: pre-wrap; /* css-3 */ white-space: -moz-pre-wrap; /* Mozilla, since 1999 */ white-space: -pre-wrap; /* Opera 4-6 */ white-space: -o-pre-wrap; /* Opera 7 */ word-wrap: break-word; /* Internet Explorer 5.5+ */ } 

इसके अलावा मैं सिर्फ इस लेख http://www.impressivewebs.com/word-wrap-css3/ मिला

तो आप का उपयोग करना चाहिए

 .wordwrap { word-wrap: break-word; } .no_wordwrap { word-wrap: normal; } 

मैंने आमतौर पर यह word-wrap और <wbr> विचार के संयोजन का उपयोग करके इसे संभाला है ध्यान दें कि कुछ रूप हैं जैसा कि आप देख सकते हैं, &#8203; शायद अनुकूलता के लिए आपका सबसे अच्छा शर्त है

word-wrap ब्राउज़र समर्थन भयानक नहीं है, सभी चीजों को माना जाता है, सफारी, इंटरनेट एक्सप्लोरर, और फ़ायरफ़ॉक्स 3.1 (अल्फा बिल्ड) सभी इसका समर्थन करते हैं ( एसआरसी ), इसलिए हम सब दूर नहीं हो सकते।

सर्वर साइड ब्रेगेज़ के संबंध में, मैंने इस पद्धति को सफलतापूर्वक (पीएचपी) का उपयोग किया है:

 function _wordwrap($text) { $split = explode(" ", $text); foreach($split as $key=>$value) { if (strlen($value) > 10) { $split[$key] = chunk_split($value, 5, "&#8203;"); } } return implode(" ", $split); } 

मूल रूप से, 10 से अधिक वर्णों के लिए, मैंने उन्हें प्रत्येक 5 अक्षर पर विभाजित किया। यह मेरे सभी हाथों के उपयोग के मामलों के लिए काम करने लगता है

यहां एक संक्षिप्त संबंधित समस्या थी जिसमें टेडटेरा 100% चौड़ाई आईई 7 में मूल तत्व की चौड़ाई को अनदेखा करता था

पता नहीं कि कोई निर्णायक समाधान कभी नहीं मिला है, लेकिन ऐसा लगता है कि निकटतम शब्द ब्रेक था: ब्रेक-ऑल , जो इंटरनेट एक्सप्लोडर में काम कर सकता है।

मुझे यह भी पता चला है कि http://petesbloggerama.blogspot.com/2007/02/firefox-ie-word-wrap-word-break-tables.html मेरे बुकमार्क्स में दफनाया गया है, जो कि अधिकांश अन्य ब्राउज़रों के लिए काम करता है, जो शायद मदद।

अगर यह कभी यहां हो जाता है तो CSS3 महान होगा …

उम्मीद है कि मदद करता है, यह देखने में रुचि होगी कि आप किसके साथ आएंगे। माफ करना, मैं कुछ भी परीक्षण या अधिक विशिष्ट प्रदान नहीं कर सकता

पीएचपी में एक नियमित अभिव्यक्ति का इस्तेमाल तेजी से लंबे शब्दों को तोड़ने के लिए होना चाहिए। मैंने एक ऐसा फ़ंक्शन बनाया है जो htmlspecialchars को संभालता है और शब्दों को शर्मिंदा करता है; यहां किसी के लिए फ़ंक्शन है जो रुचि रखते हैं बस स्ट्रिंग को पार करें, और अधिकतम शब्द लंबाई (0 के रूप में छोड़ें यदि आप शब्दों को शर्मिंदगी के साथ तोड़ना नहीं चाहते हैं); और यह एक विशेष स्ट्रिंग के साथ एक स्ट्रिंग लौटाएगा और शब्दों को शर्मिंदगी के साथ टूट जाएगा;

 function htmlspecialchars2($string = "", $maxWordLength = 0) { if($maxWordLength > 0) { $pattern = '/(\S{'.$maxWordLength.',}?)/'; $replacement = '$1&shy;'; $string = preg_replace($pattern, $replacement, $string); } //now encode special chars but dont encode &shy; $string = preg_replace(array('/\&(?!shy\;)/','/\"/',"/\'/",'/\</','/\>/'), array('&amp;','&quot;','&#039;','&lt;','&gt;'), $string); return $string; } 

आप टेबल लेआउट + वर्ड-रैप सीएसएस विशेषता का उपयोग कर सकते हैं जो अब आईई 7-8 और एफएफ 3 में काम करता है। इससे समस्या का समाधान नहीं होगा लेकिन कम से कम आपका डिज़ाइन टूटा नहीं होगा।

सफेद-स्पेस का उपयोग करें : सीएसएस में सामान्य अगर आवश्यकता होती है तो यह दिखाने के लिए कि आप ऊँचाई और चौड़ाई के अनुसार स्वचालित रूप से पाठ लपेटें, यह आपको यू से भर में मदद कर सकता है।

ओवेन के उत्तर के समान ही, यह एक ही पंक्ति में सर्वर-साइड को प्राप्त करता है:

 return preg_replace_callback( '/\w{10,}/', create_function( '$matches', 'return chunk_split( $matches[0], 5, "&#8203;" );' ), $value ); 

यह आपकी समस्या को ठीक कर सकता है

 function htmlspecialchars2($string = "", $maxWordLength = 0){ return wordwrap($string , $maxWordLength,"\n", true); }