किसी को भी मेरे मतभेद की एक त्वरित सारांश दे सकते हैं?पीएचपी preg_replace/preg_match बनाम पीएचपी str_replace
मेरे मन के लिएवे दोनों एक ही बात करते हैं?
धन्यवाद
किसी को भी मेरे मतभेद की एक त्वरित सारांश दे सकते हैं?पीएचपी preg_replace/preg_match बनाम पीएचपी str_replace
मेरे मन के लिएवे दोनों एक ही बात करते हैं?
धन्यवाद
str_replace
एक तार का एक विशिष्ट घटना की जगह, उदाहरण के "foo" केवल मेल खाते हैं और उस स्थान लेगा: "foo"। preg_replace
नियमित अभिव्यक्ति मिलान करेगा, उदाहरण के लिए "/f.{2}/" मिलान करेगा और "foo" को प्रतिस्थापित करेगा, लेकिन "fey", "fir", "fox", "f12", आदि
[संपादित करें]
खुद के लिए देखें:
$string = "foo fighters";
$str_replace = str_replace('foo','bar',$string);
$preg_replace = preg_replace('/f.{2}/','bar',$string);
echo 'str_replace: ' . $str_replace . ', preg_replace: ' . $preg_replace;
उत्पादन होता है:
str_replace: बार सेनानियों, preg_replace: बार barhters
:)
str_replace
सिर्फ एक और तय तार के साथ एक निश्चित स्ट्रिंग का स्थान ले लेगा, और यह बहुत तेजी से किया जाएगा।
नियमित अभिव्यक्ति फ़ंक्शन आपको गैर-निश्चित पैटर्न regular expression नामक पैटर्न के साथ खोजने और बदलने की अनुमति देता है। नियमित अभिव्यक्ति के कई "स्वाद" हैं जो अधिकतर समान होते हैं लेकिन कुछ विवरण भिन्न होते हैं; जिस बारे में हम यहां बात कर रहे हैं वह पर्ल संगत नियमित अभिव्यक्तियां है (PCRE)।
अगर वे आप के लिए एक ही लग रही है, तो आप str_replace
उपयोग करना चाहिए।
अच्छी तरह से यह गतिशील खोजें पैटर्न आप नहीं जानता में के लिए अच्छा है, लेकिन अगर आप पैटर्न (यहां तक कि रनटाइम के दौरान अगर) पता है कि तुम ठीक तो बटन बना सकते हैं और जब तक आप विभिन्न भागों एक ही समय में catched किया जाना चाहते हैं str_ कर सकते हैं । – My1
str_replace
पैटर्न के लिए, जबकि preg_replace
शुद्ध पाठ आवृत्तियां के लिए खोज करता है।
हम्म, वास्तव में preg_replace लाभ नहीं देख रहा है, थोड़ा हिट लगता है! – benhowdle89
आपने फायदे के बारे में नहीं पूछा, बल्कि दोनों के बीच का अंतर: डी – mingos
शिकायत नहीं! बस एक अवलोकन ... – benhowdle89