php - How to change all non word characters and multiple spaces into ' ' and then all space to '-' in one preg_replace() -



मैं निम्न शर्तों पर छवि नाम बदलना चाहता हूं

  • सभी गैर शब्द वर्ण
  • फिर सभी रिक्त स्थान -
  • में बदल जाता है

इसका अर्थ है कि मेरा छवि नाम है: हैलो मेरा नाम ' ख @ एन "श्री। खान" तब इसे हैलो-माय-नाम-आई-खा-एन-एमआर-खान में बदलना चाहिए।

i नीचे दो चरणों में उपयोग करने की आवश्यकता है,

  $ old_name = 'नमस्कार मेरा नाम है' ख @ n "मिस्टर खान '; $ space_name = preg_replace (' / \ w / ',' ', $ Old_name); $ new_name = preg_replace (' / \ s + / ',' - ', $ space_name); $ new_name // को प्रतिध्वनित करता है Hello-My-name-is-kh-n-mr-Khan  

क्या एक ही चरण में दोनों स्थितियों को लागू करने का कोई तरीका है ??

मुझे इस फ़ंक्शन के आउटपुट ( Hello_My_name_is-Kh-n_-Mr-_Khan _ ) एक बिट बदसूरत मिल रहा है। यहां मेरा दृष्टिकोण है

  $ name = 'नमस्कार मेरा नाम \ 'के.एच. @ n है "श्री। $ Name = preg_replace ('/ \ w /', '', $ name); $ name = trim ($ name); $ name = strtolower ($ नाम); $ name = preg_replace ('/ \ s + / ',' - ', $ name);  

आउटपुट हैलो-मेरे-नाम-के-खा-एन-एमआर-खान

< / div>

Comments