2010-08-20 3 views
12

हटाएं मेरे पास एक MySQL डेटाबेस है जिसमें से मैं एक स्ट्रिंग निकालता हूं जो की नई सूची द्वारा अलग किए गए शब्दों की एक सूची है। अब मैं केवल पीछे की ओर न्यूलाइन को हटाना चाहता हूं। मैंपिछली न्यूलाइन

$string = preg_replace('/\n/','',$string); 

यह काम करता है के रूप में उपयोग करने की कोशिश preg_replace लेकिन तार में सभी नई पंक्तियां निकाल दिए जाते हैं :( कृपया मदद

सभी को धन्यवाद

उत्तर

27

आप लाइन लंगर के अंत जोड़ने की जरूरत है।:

$string = preg_replace('/\n$/','',$string); 

इसके करने के लिए बेहतर से बचने इस तरह के एक साधारण प्रतिस्थापन के लिए regex।

  • न्यू लाइन
  • अंतरिक्ष
  • ऊर्ध्वाधर टैब
  • क्षैतिज टैब: 2 तर्क अनुगामी whitespace चार जिसमें शामिल निकाल देंगे बिना

    $string = rtrim($string); 
    

    rtrim: यह आसानी से के रूप में rtrim उपयोग किया जा सकता

  • कैरिज रिटर्न
+0

+1। – Scott

+0

क्या यह सभी व्हाइटस्पेस को हटा देता है, या केवल अंतिम? – cli

7

ऐसे छोटे कार्य के लिए नियमित अभिव्यक्तियों का उपयोग न करें। आप PHP के rtrim() (सकारात्मक रूप से "\n" के साथ दूसरे पैरामीटर के रूप में) या substr() (जैसे substr($string, 0, -1)) या MYSQL के RTRIM() का उपयोग कर सकते हैं। इस महान उपयोगिता समारोह को इंगित करने के लिए

+3

+1 डीबी – Gordon

+0

से छंटनी मूल्य प्राप्त करने के लिए +1 मुझे यह जवाब बहुत बेहतर लगता है –