मेरे पास मेरे PHP कोड में कुछ स्ट्रिंग हैं जिन्हें बहुत लंबे समय तक छोटा कर दिया जाना चाहिए।PHP में एक यूटीएफ 8 स्ट्रिंग को कैसे छोटा करें?
उदाहरण के लिए यदि एक पाठ कुछ इस तरह है:
हाय, मैं आपको बताना चाहता है कि यह कैसे अद्भुत है चाहते हैं।
यह इस के साथ बदलना होगा:
हाय, मैं चाहते हैं ...
मैं एक साधारण substr
किया है कि के लिए। समस्या यह है कि यूटीएफ 8 में कुछ पात्र वास्तव में दो अक्षर लंबे होते हैं। और मुझे मध्य में कटौती करने वाले चरित्र के साथ कुछ समस्याएं आई हैं: उदाहरण के लिए, जब मैं डेटाबेस में संशोधित स्ट्रिंग डालने का प्रयास करता हूं, तो यह क्रैश हो जाता है।
static function short($string, $max = 255){
if(strlen($string) >= $max){
$string = substr($string, 0, $max - 5).'...';
} return $string;
}
किसी UTF8 वर्ण के लिए भी इस समारोह काम करने के लिए एक तरह से पता है चाहेंगे:
यहाँ मेरे वर्तमान समारोह है?
क्यों '$ अधिकतम - 5'? – deceze
'https: //api.drupal.org/api/drupal/includes पर एक नज़र डालें! Unicode.inc/function/truncate_utf8/7' –
[यूटीएफ -8 संगत ट्रंकेट फ़ंक्शन] के संभावित डुप्लिकेट (http: // stackoverflow .com/प्रश्न/6288875/utf-8-compatible-truncate-function) – user