Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

\r\n को PHP के साथ बदलना

आपके द्वारा आजमाई गई सभी विविधताओं के साथ मुख्य समस्या यह है कि दोनों \n और \r एस्केप वर्ण हैं जो केवल तभी बच जाते हैं जब आप उन्हें दोहरे-उद्धृत स्ट्रिंग में उपयोग करते हैं

PHP में, '\r\n' . के बीच एक बड़ा अंतर है और "\r\n" . पहले में सिंगल-कोट्स और दूसरे में डबल-कोट्स नोट करें।

तो:'\r\n' एक स्लैश, एक 'आर', एक अन्य स्लैश और एक 'एन' युक्त चार वर्ण स्ट्रिंग में परिणाम होगा, जबकि "\r\n" इसमें दो अक्षर होंगे, जो नई लाइन और कैरिज रिटर्न कैरेक्टर होंगे।

तो आपके प्रश्न का सीधा उत्तर यह है कि आपको प्रश्न में दिए गए उदाहरणों में से दूसरे का उपयोग करने की आवश्यकता है, लेकिन एकल उद्धरणों के बजाय दोहरे उद्धरण चिह्नों के साथ:

$text = str_replace("\r\n",'', $text);

यह ध्यान देने योग्य है कि यह सभी को हटा देगा इनपुट से नई लाइनें, और उन्हें कुछ भी नहीं के साथ बदलें। यदि इनपुट में एक से अधिक नई लाइनें हैं, तो वे सभी हटा दी जाएंगी। आपके आवेदन के बारे में अधिक जाने बिना, मुझे नहीं पता कि आप यही चाहते हैं या नहीं, लेकिन यहां कुछ विचार दिए गए हैं:

  • यदि आप अंत . से केवल रिक्त रेखाएं (और अन्य सफेद स्थान) हटाना चाहते हैं इनपुट स्ट्रिंग के लिए, आप trim() . का उपयोग कर सकते हैं इसके बजाय कार्य करें।

  • यदि आप HTML में आउटपुट के लिए फ़ॉर्मेटिंग को बरकरार रखना चाहते हैं, तो nl2br() समारोह आपकी मदद करेगा। यदि आप बिना फ़ॉर्मेटिंग के HTML में आउटपुट करना चाहते हैं, तो आपको उन्हें हटाने की आवश्यकता नहीं हो सकती है, क्योंकि ब्राउज़र \n वर्णों से लाइन ब्रेक प्रस्तुत नहीं करेगा।

  • यदि आप नई पंक्तियों को कुछ भी नहीं के साथ बदलते हैं, तो आपके उदाहरण के अनुसार, पहली पंक्ति का अंतिम शब्द अब सीधे दूसरी पंक्ति के पहले शब्द में चला जाएगा, और इसी तरह। आप उन्हें कुछ नहीं के बजाय एक स्पेस कैरेक्टर से बदलना पसंद कर सकते हैं।

  • यह संभव है कि उपयोगकर्ता केवल \n . के साथ इनपुट सबमिट कर सकते हैं बिना मिलान के \r , या इसके विपरीत (यह उनके OS या ब्राउज़र, या एक जानबूझकर हैक, या कई अन्य कारणों से हो सकता है)। अगर आप सभी को बदलना चाहते हैं इन दोनों पात्रों के उदाहरण, ऐसा करने का एक अधिक विश्वसनीय तरीका यह होगा कि उन्हें एक-दूसरे के बगल में रहने के बजाय व्यक्तिगत रूप से प्रतिस्थापित किया जाए। str_replace() आपको उन्हें एक सरणी में निर्दिष्ट करके ऐसा करने की अनुमति देता है। आप strtr() . का भी उपयोग कर सकते हैं या preg_replace() एक ही लक्ष्य को प्राप्त करने के लिए।

आशा है कि यह मदद करता है।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. php mysql के माध्यम से जेसन डेटा को कैसे स्टोर और पढ़ा जाए?

  2. एक पीडीओ क्वेरी के साथ अप्रत्याशित रूप से PHP मेमोरी सीमा को मार रहा है?

  3. MySQL क्वेरी के साथ निकटतम संख्यात्मक मान चुनें

  4. अजगर के माध्यम से अजगर शब्दकोश को mysql डीबी में कैसे स्टोर करें?

  5. एडब्ल्यूएस आरडीएस पर MySQL को PostgreSQL में माइग्रेट करना, भाग 3