2012-01-05 17 views
12

मैं एएसपी प्रतिस्थापन की तरह एक PHP प्रतिस्थापन करने की कोशिश कर रहा हूं। समारोह हालांकि एक खाली मूल्य देता है?PHP प्रतिस्थापन और लोअरकेस

$zonename=mysql_real_escape_string($_POST["zonename"]); 
    $zname_clean =""; # blank string 
    $zname_clean = $zonename; # fill string with the post form 
    $zname_clean = str_replace($zname_clean, " ", ""); # remove white space 

यह मेरा कोड है। उदाहरण ज़ोननाम "हेडर बाएं" होगा, मैं पूंजीकरण को हटाना चाहता हूं और व्हाइटस्पेस को भी हटाना चाहता हूं।

मैं व्हाइटस्पेस को कैसे हटा सकता हूं और मामले को कैसे परिवर्तित कर सकता हूं और यह करने का एक क्लीनर तरीका भी है?

+4

गलत पैरामीटर आदेश -> http://php.net/manual/en/function.str-replace.php – ManseUK

+0

कि @ManseUK – TheBlackBenzKid

उत्तर

34
// strip out all whitespace 
$zname_clean = preg_replace('/\s*/', '', $zname_clean); 
// convert the string to all lowercase 
$zname_clean = strtolower($zname_clean); 

strtolower() और preg_replace() के लिए PHP मैनुअल देखें।

+0

के लिए धन्यवाद मैं इस कोड की तरह। – TheBlackBenzKid

+0

यहां रेगेक्स गलत है। यह होना चाहिए//? - तारांकन "शून्य या अधिक बार मैच" इंगित करता है, "एक या अधिक बार" से मेल खाने के लिए प्रश्न चिह्न की आवश्यकता क्या है। – pimbrouwers

+0

नहीं, रेगेक्स ठीक है। मैं सवाल के अनुसार सभी व्हाइटस्पेस को हटाना चाहता हूं न केवल पहले चैट को और अधिक सफेद मूल्यों को छोड़कर। – Treffynnon

5

आपके पास गलत पैरामीटर में आपके पैरामीटर हैं। इस पर एक नज़र डालें: http://php.net/manual/en/function.str-replace.php

यह होना चाहिए str_replace(" ", "", $zname_clean);

ऐसा करने का एक और तरीका है strtolower(trim($zname_clean));

+1

आपके "अन्य तरीके" पर निश्चित नहीं है - ट्रिम स्ट्रिंग – ManseUK

+0

के मध्य से सफेद स्थान को हटा नहीं देगा आपका कोड सभी सफेद जगह को नहीं हटाएगा। लाइन रिटर्न इत्यादि के बारे में क्या – Treffynnon

+0

व्हाइट स्पेस (अर्थ के बिना अंतरिक्ष) या सभी रिक्त स्थान? – OptimusCrime

5

इस प्रयास करें है।

$zonename=mysql_real_escape_string($_POST["zonename"]); 
$zname_clean = strtolower(str_replace(" ", "",$zonename)); 
संबंधित मुद्दे