दिलचस्प पोस्ट
सी # वेब ब्रासर नियंत्रण प्रॉक्सी क्या SQLite डेटाबेस में एक समय में एकाधिक पंक्तियाँ सम्मिलित करना संभव है? क्या मैं कोशिश / एक चेतावनी पकड़ सकता हूँ? एएसपी.नेट एमवीसी कस्टम मॉडल बाइंडिंग स्पष्टीकरण जावा के "% n" के साथ printf में क्या हो रहा है? पहली बार पैनल को एक फ्रेम में क्यों गायब हो जाता है? क्या PHPStorm में रूबी सिंटेक्स हाइलाइट करना संभव है? पूछे जाने वाले प्रश्न: गतिशील_कास्ट केवल तब ही काम करता है जब एक कक्षा में कम से कम 1 आभासी पद्धति होती है? अपाचे डर्बी ग्रहण प्लग-इन कहाँ गए थे? Laravel का 5.3 पासपोर्ट और एपीआई मार्ग बड़ी पाठ फ़ाइलों को पायथन में पढ़ो, लाइन में लाइन में बिना इसे स्मृति में लोड किए बिना चौड़ाई और ऊंचाई के अनुसार पहलू अनुपात बनाए रखें गोटो रिसाव चर का प्रयोग करेंगे? एक पैरामीटर के रूप में एक अन्य स्क्रिप्ट के लिए कैसे पास करें? आईआईएस 7.5 में होस्ट किए गए वेब एपीआई में HTTP 404 पृष्ठ नहीं मिला

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

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

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

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

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

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

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

Solutions Collecting From Web of "सीएसएस / जेएस में शब्द लपेटो"

सीएसएस यो!

.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); }