मेरे AJAX चैट ऐसे कमांड संभालती है:
/ प्रतिबंध नाम
/ lock
और अधिक।
अगर मैं एक से अधिक शब्द का प्रयोग करता हूं, तो इस तरह से:
/ हर किसी को प्रसारित करें! आउटपुट हो जाएगा: helloe मेरा प्रश्न है: कमांड के बाद, मैं पाठ को कैसे लपेट नहीं कर सकता / सकती हूं ? इसलिए जब मैं यह आदेश का उपयोग करता हूं: / प्रसारण नमस्कार, हर कोई, हाहा हा! आउटपुट होगा: हैलो हर कोई, हह हा! इसके बजाय: helloe यह कमांड के लिए विधि है: कोई भी विचार? समस्या इस मामले में स्थित है: कोड की इस पंक्ति को परिवर्तित करें से
सार्वजनिक फ़ंक्शन संभाल कॉमांड ( $ संदेश, $ उपयोगकर्ता नाम) {// संदेश को विभाजित करता है $ Str = विस्फोट ('', $ संदेश); // संदेश के प्रत्येक स्थान को प्राप्त होता है, मूल रूप से यह कमांड है जो स्लैश $ कमांड = सबस्ट्रैक्ट (strrchr ($ str [0], '/'), 1) के बाद आता है; / ** * यदि हमारे पास आदेश के बाद एक मान है: ** / if (isset ($ str [1])) {$ name = $ str [1]; } स्विच ($ कमांड) {केस 'प्रतिबंध': यदि (खाली ($ नाम)) {if (ctype_alpha ($ name)) {$ this- & gt; प्रतिबंध ($ नाम, $ उपयोगकर्ता नाम); } Else {गूंजना "सिंटेक्स त्रुटि। संख्याओं या विशेष वर्णों का उपयोग न करें।"; टूटना; }} और {इको "सिंटैक्स त्रुटि। उपयोग: / प्रतिबंध (उपयोगकर्ता नाम)"; टूटना; } टूटना; मामले 'prune': $ this- & gt; प्रतिदान ($ उपयोगकर्ता नाम); टूटना; मामले '': गूंज 'उपलब्ध आदेश: / प्रतिबंध, /' काटना '; टूटना; मामले 'ताला': कोशिश करें {$ this- & gt; lockChat ($ उपयोगकर्ता नाम); } पकड़ (अपवाद $ r) {गूंज $ r- & gt; getMessage (); } टूटना; मामले 'प्रसारण': $ नाम गूंज; टूटना; केस 'अनलॉक': प्रयास करें {$ this-> UnLockChat ($ username); } पकड़ (अपवाद $ r) {गूंज $ r- & gt; getMessage (); } टूटना; डिफ़ॉल्ट: प्रतिध्वनि 'वह कमांड मौजूद नहीं है!'; टूटना; }}
मामला 'प्रसारण': $ name echo; टूटना;
यदि ( जारी ($ str [1])) {$ name = $ str [1]; }
अगर (is_array ($ str)) {$ name = array_shift ($ str); $ Name = implode ("", $ name); }
No comments:
Post a Comment