Monday 15 February 2010

php - AJAX Chat commands /broadcast command? -


मेरे 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