PHP: तपाइँको शब्द उद्धृत गर्नुहोस् strrpos प्रयोग गरेर

html कोड

यदि तपाईं PHP को साथ काम गर्दै हुनुहुन्छ र तपाईं केवल आफ्नो स्रोत पाठबाट उद्धरण मात्र देखाउन चाहनुहुन्छ र यसलाई वर्णहरूको संख्यामा काट्न चाहनुहुन्छ भने, तपाईंको अंश कुरूप देखिन सक्छ यदि यो मध्य-स्ट्रिंग गर्यो भने। मैले ASP र ASP.NET मा यो कार्य गर्न लेख्नुपर्‍यो जुन अन्तिम चरित्रबाट पछिल्लो ठाँउ पछाडि साइकल गरिएको अन्तिम ठाउँ पत्ता लगाउन र त्यहाँ काटिएको थियो। बिभिन्न किसिमको र थोरै ओभरकिल। तपाईं वास्तव मा मेरो घर मा यो कार्य मा देख्न सक्नुहुन्छ पृष्ठ जहाँ म केवल पहिलो characters०० वर्ण मात्र प्रदान गर्दछु।

म आज PHP का साथ समान प्रकारको विकास गर्न पूर्ण रूपले तयार थियो तर भेटिएं (सामान्य रूपमा) कि PHP सँग फंक्शन छ जुन यो पहिले नै गर्दछ, strpos.

पुरानो कोडले सबस्ट्रि subst ($ सामग्री) पहिलो वर्णबाट तपाईंलाई चाहिने वर्णहरूको अधिकतम संख्यामा लिनेछ ($ maxchars):

$ सामग्री = substr ($ सामग्री, ०, $ अधिकतम); इको; सामग्री;

नयाँ कोड:

$ सामग्री = substr ($ सामग्री, ०, $ अधिकतम); $ pos = strrpos ($ सामग्री, ""); यदि ($ pos> ०) {$ सामग्री = substr ($ सामग्री, ०, $ pos); } इको $ सामग्री;

त्यसोभए नयाँ कोडले पहिले तपाइँले खोजिरहनु भएको चरित्र सीमामा सामग्रीहरू काट्छ। जे होस्, अर्को चरण सामग्रीमा अन्तिम ठाउँ ("") खोज्नु हो। $ पीओएस पोजीशनको रूपमा रहनेछ। अब, म केवल सुनिश्चित गर्छु कि सामग्रीमा वास्तवमा खाली ठाउँ छ भनेर सोधेर यदि $ pos> ०। यदि त्यहाँ छैन भने, यसले भर्खर मैले अनुरोध गरेको क्यारेक्टरहरूको संख्यामा सामग्री काट्छ। यदि त्यहाँ कुनै स्थान छ भने, यसले मेरो सामग्रीलाई अन्तरिक्षमा काट्छ।

यो वर्णको अधिकतम संख्याको संयोजनको प्रयोग गरेर शब्दमा काट्ने राम्रो तरीका हो। आशा छ तपाईंलाई मनपर्दछ!

र म निश्चित छु कि मैले त्यहाँ ASP.NET प्रकार्य त्यहाँ छ कि भनेर पत्ता लगाउन ... म एक फेला पार्न सकेन।

7 टिप्पणिहरु

  1. 1
  2. 2
  3. 3
  4. 4

    यदि $content प्रारम्भमा $maxchars भन्दा छोटो छ भने लेखिएको कोड अझै स्पेसको लागि दायाँ बायाँ देखिनेछ र अन्तिम शब्द काट्नेछ। तपाईले $content को अन्त्यमा स्पेस जोड्न सक्नुहुन्छ, वा यदि (strlen()…)

  5. 5

    यो एक प्रकार्यको रूपमा काम गरेको जस्तो देखिन्छ (अघिल्लो टिप्पणीलाई सम्बोधन गर्दै):

    प्रकार्य showexcerpt($content, $maxchars) {

    यदि (strlen($content) > $maxchars) {

    $content = substr($content, 0, $maxchars);
    $pos = strrpos ($ सामग्री, " ");

    यदि ($pos>0) {
    $content = substr($content, 0, $pos);
    }

    $content फिर्ता गर्नुहोस्। "…";

    } else {

    $ सामग्री फर्काउनुहोस्;

    }

    }

  6. 6

    यदि हाम्रो अन्तिम क्यारेक्टर फुल स्टप, विस्मयादिबोधक चिन्ह वा प्रश्न चिन्ह जस्तै विराम चिन्ह हो भने के हुन्छ? दुर्भाग्यवश, यो कोडले विराम चिन्ह वर्णको अघिल्लो सम्पूर्ण शब्द मेटाउनेछ।  

    मलाई लाग्छ कि तपाईले अलि बलियो केहि लेख्नु राम्रो हुन्छ।

  7. 7

तिम्रो के बिचार छ?

यो साइट स्प्याम कम गर्न Akismet को उपयोग गर्दछ। जान्नुहोस् कि तपाईंको डेटा कसरी संसाधित छ.