पीएचपीः शब्दात तुमचा एखादा शब्द उद्धृत करा

एचटीएमएल कोड

आपण PHP वर कार्य करीत असल्यास आणि आपण केवळ आपल्या स्त्रोत मजकूरावरील उतारा दर्शवू इच्छित असाल आणि त्यास बर्‍याच वर्णांमधून तोडून टाकू इच्छित असाल तर आपला उतारा मध्य-स्ट्रिंग पूर्ण झाल्यास कुरूप दिसू शकेल. मला एएसपीमध्ये आणि एएसपी.नेटमध्ये हे करण्यासाठी एक फंक्शन लिहावे लागले जे शेवटची जागा शोधण्यासाठी मूळ वर्णातून परत गेले आणि तेथेच तोडले. प्रकारचा ओंगळ आणि थोडासा ओव्हरकिल आपण प्रत्यक्षात हे माझ्या घरात कृतीमध्ये पाहू शकता पृष्ठ जिथे मी केवळ प्रथम 500 वर्ण प्रदान करतो.

मी आज पीएचपी बरोबर समान फंक्शन विकसित करण्यास पूर्णपणे तयार होतो परंतु मला आढळले की (नेहमीप्रमाणे) पीएचपीचे कार्य होते जे आधीपासूनच होते, स्ट्रिंग.

जुना कोड पहिल्या वर्णातून आपल्यास पाहिजे असलेल्या (जास्तीत जास्त वर्णांपर्यंत) वर्णांची () सामग्री) एक सबस्ट्रिंग ($ सामग्री) घेईल:

$ सामग्री = सबस्ट्रार ($ सामग्री, 0, $ कमाल); प्रतिध्वनी;

नवीन कोडः

$ सामग्री = सबस्ट्रार ($ सामग्री, 0, $ कमाल); $ pos = strrpos ($ सामग्री, ""); जर ($ pos> 0) {$ सामग्री = सबस्ट्र ((सामग्री, 0, $ पीएस); } प्रतिध्वनी $ सामग्री;

म्हणून नवीन कोड प्रथम आपण शोधत असलेल्या चारित्र्याच्या मर्यादेवरील सामग्री कापतो. तथापि, पुढील चरण सामग्रीमधील शेवटची जागा ("") शोधणे आहे. $ पीओएस ते स्थान असल्याने वांछित होईल. आता मी फक्त ensure pos> 0 विचारून सामग्रीमध्ये खरोखरच जागा असल्याचे सुनिश्चित करते. नसल्यास, मी विनंती केलेल्या वर्णांच्या संख्येवरुन ती सामग्री काढून टाकली जाईल. जर तेथे काही जागा असेल तर ती माझी सामग्री जागेवरून कापेल.

जास्तीत जास्त वर्णांचे संयोजन आणि शब्दात तोडण्याचा हा एक चांगला मार्ग आहे. आशा आहे तुम्हाला आवडेल!

आणि मला खात्री आहे की ASP.NET फंक्शन आहे की नाही हे मला सापडेल ... मला ते सापडले नाही.

7 टिप्पणी

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

    Initially सामग्री प्रारंभी जास्तीत जास्त $ पेक्षा लहान असल्यास कोड लिखित म्हणून कोड रिक्त स्थानासाठी उजवीकडून डावीकडे दिसेल आणि शेवटचा शब्द कापला जाईल. आपण एकतर of सामग्रीच्या शेवटी स्पेस कॉकॅटेनेट करू शकता किंवा जर (स्ट्रेल ()…) करू शकता

  5. 5

    हे कार्य म्हणून कार्य करीत असल्यासारखे दिसत आहे (मागील टिप्पणीस उद्देशून):

    फंक्शन शोएक्सपर्ट ($ सामग्री, $ मॅक्सचर्स)

    if (strlen ($ सामग्री)> $ कमाल) {

    $ सामग्री = सबस्ट्रार ($ सामग्री, 0, $ कमाल);
    $ pos = strrpos ($ सामग्री, "");

    जर ($ pos> 0)
    $ सामग्री = सबस्ट्रार ($ सामग्री, 0, $ पीएस);
    }

    रिटर्न $ सामग्री. "…";

    } else {

    $ सामग्री परत करा;

    }

    }

  6. 6

    जर आपले अंतिम वर्ण पूर्णविराम, उद्गार चिन्ह किंवा प्रश्नचिन्हासारखे विराम चिन्हे असेल तर? दुर्दैवाने, हा कोड मागील विरामचिन्हे पूर्वीचा संपूर्ण शब्द पुसून टाकेल.  

    मला वाटते की आपण थोडे अधिक सशक्त काहीतरी लिहायला चांगले आहात.

  7. 7

तुला काय वाटत?

ही साइट स्पॅम कमी करण्यासाठी अकिस्मेट वापरते आपल्या टिप्पणी डेटावर प्रक्रिया कशी केली जाते ते जाणून घ्या.