दिलचस्प पोस्ट
2 डी सरणी QPushButton पर QPushButton का सूचकांक प्राप्त करें अक्षांश अक्षांश का उपयोग करते हुए दो बिंदुओं के बीच दूरी की गणना करना, मैं क्या कर रहा हूँ गलत? ओवरराइड ऑपरेटर () क्यों? दशमलव विभाजक के रूप में अल्पविराम और डॉट स्वीकार करें मैं कैसे जांचूं अगर stdin के पास कुछ डेटा है? क्या मैं div की पृष्ठभूमि-छवि यूआरएल प्राप्त कर सकता हूं? उद्देश्य सी में जावास्क्रिप्ट फ़ंक्शन को कैसे कॉल करें यूनिकोडएनकोड त्रुटिः 'एएससीआई' कोडेक वर्ण यू '\ xef' को स्थिति में नहीं एन्कोड कर सकता है 0: क्रमिक नहीं श्रेणी में (128) Xcode6 त्रुटि: "अनुप्रयोग के लिए कोई मिलान योग्य प्रावधान नहीं मिला" डिस्क की क्षमता और दूरस्थ कंप्यूटर की रिक्त स्थान कैसे प्राप्त करें वहाँ एक अच्छा jQuery खींचें और ड्रॉप फ़ाइल अपलोड प्लगइन है? माइस्एसएल में पैसा जमा करना गतिशील रूप से JfreeChart के साथ XYSeries को अंक जोड़ना IE8 ब्राउज़र मोड बनाम दस्तावेज़ मोड पथ का उपयोग क्यों नकार दिया गया?

पीएचपी में पाठ की सीमा को सीमित करें और 'अधिक पढ़ें' लिंक प्रदान करें

मेरे पास पाठ चर $ $ पाठ में संग्रहीत पाठ है यह टेक्स्ट 100 या 1000 या 10000 शब्द हो सकते हैं। जैसा कि वर्तमान में लागू किया गया है, मेरा पृष्ठ पाठ पर आधारित है, लेकिन यदि पाठ बहुत लंबा है तो पृष्ठ बदसूरत लग रहा है

मुझे पाठ की लंबाई प्राप्त करना और वर्णों की संख्या को शायद 500 तक सीमित करना है, और यदि पाठ इस सीमा से अधिक है तो मैं कहता हूं कि एक लिंक प्रदान करना चाहते हैं, "और पढ़ें"। यदि "और पढ़ें" लिंक क्लिक किया जाता है, तो यह $ टेक्स्ट में सभी टेक्स्ट के साथ एक पॉप दिखाएगा

Solutions Collecting From Web of "पीएचपी में पाठ की सीमा को सीमित करें और 'अधिक पढ़ें' लिंक प्रदान करें"

यही है वह जो मेरे द्वारा उपयोग किया जाता है:

// strip tags to avoid breaking any html $string = strip_tags($string); if (strlen($string) > 500) { // truncate string $stringCut = substr($string, 0, 500); // make sure it ends in a word so assassinate doesn't become ass... $string = substr($stringCut, 0, strrpos($stringCut, ' ')).'... <a href="/this/story">Read More</a>'; } echo $string; 

आप इसे आगे बढ़ा सकते हैं लेकिन यह उत्पादन में किया जाता है।

 $num_words = 101; $words = array(); $words = explode(" ", $original_string, $num_words); $shown_string = ""; if(count($words) == 101){ $words[100] = " ... "; } $shown_string = implode(" ", $words); 

मैंने दो अलग-अलग उत्तर जोड़ दिए हैं:

  1. वर्णों को सीमित करें
  2. पूर्ण HTML लापता टैग

     $string = strip_tags($strHTML); $yourText = $strHTML; if (strlen($string) > 350) { $stringCut = substr($post->body, 0, 350); $doc = new DOMDocument(); $doc->loadHTML($stringCut); $yourText = $doc->saveHTML(); } $yourText."...<a href=''>View More</a>" 

इस पाठ को छूने के लिए सरल उपयोग करें:

 echo strlen($string) >= 500 ? substr($string, 0, 490) . ' <a href="link/to/the/entire/text.htm">[Read more]</a>' : $string; 

संपादित करें और अंत में:

 function split_words($string, $nb_caracs, $separator){ $string = strip_tags(html_entity_decode($string)); if( strlen($string) <= $nb_caracs ){ $final_string = $string; } else { $final_string = ""; $words = explode(" ", $string); foreach( $words as $value ){ if( strlen($final_string . " " . $value) < $nb_caracs ){ if( !empty($final_string) ) $final_string .= " "; $final_string .= $value; } else { break; } } $final_string .= $separator; } return $final_string; } 

यहां विभाजक अधिक पढ़ने के लिए href लिंक है;)

असल में, आपको एक शब्द सीमक को एकीकृत करना होगा (जैसे कुछ ऐसा है ) और छायाबॉक्स की तरह कुछ का उपयोग करें आपका पठन अधिक लिंक PHP स्क्रिप्ट से जुड़ा होना चाहिए जो संपूर्ण लेख प्रदर्शित करता है। बस उन लिंक पर Shadowbox सेटअप और आप सेट कर रहे हैं (अपनी साइट पर निर्देश देखें। इसका आसान है।)

यह विधि बीच में किसी शब्द को छोटा नहीं करेगा

 list($output)=explode("\n",wordwrap(strip_tags($str),500),1); echo $output. ' ... <a href="#">Read more</a>'; 

एक अन्य विधि: अपने विषय के function.php फ़ाइल में निम्नलिखित डालें।

 remove_filter('get_the_excerpt', 'wp_trim_excerpt'); add_filter('get_the_excerpt', 'custom_trim_excerpt'); function custom_trim_excerpt($text) { // Fakes an excerpt if needed global $post; if ( '' == $text ) { $text = get_the_content(''); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $text = strip_tags($text); $excerpt_length = x; $words = explode(' ', $text, $excerpt_length + 1); if (count($words) > $excerpt_length) { array_pop($words); array_push($words, '...'); $text = implode(' ', $words); } } return $text; } 

आप इसका उपयोग कर सकते हैं

 <?php $string = "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book."; if (strlen($string) > 25) { $trimstring = substr($string, 0, 25). ' <a href="#">readmore...</a>'; } else { $trimstring = $string; } echo $trimstring; //Output : Lorem Ipsum is simply dum [readmore...][1] ?> 
 <?php $images_path = 'uploads/adsimages/'; $ads = mysql_query("select * from tbl_postads ORDER BY ads_id DESC limit 0,5 "); if(mysql_num_rows($ads)>0) { while($ad = mysql_fetch_array($ads)) {?> <div style="float:left; width:100%; height:100px;"> <div style="float:left; width:40%; height:100px;"> <li><img src="<?php echo $images_path.$ad['ads_image']; ?>" width="100px" height="50px" alt="" /></li> </div> <div style="float:left; width:60%; height:100px;"> <li style="margin-bottom:4%;"><?php echo substr($ad['ads_msg'],0,50);?><br/> <a href="index.php?page=listing&ads_id=<?php echo $_GET['ads_id'];?>">read more..</a></li> </div> </div> <?php }}?>