2011-06-22 17 views
32

मैं अक्षरों, संख्याओं, रिक्त स्थान और अंडरस्कोर को छोड़कर स्ट्रिंग में सभी वर्णों को प्रतिस्थापित करने के लिए देख रहा हूं।अक्षरों, संख्याओं, रिक्त स्थानों और अंडरस्कोर को छोड़कर सभी वर्णों को बदलें

क्या कोई उदाहरण प्रदान कर सकता है?

$string = preg_replace("/[^ \w]+/", "", $string); 

कुछ भी नहीं के साथ सभी गैर अंतरिक्ष और गैर शब्द अक्षर में बदल देता है कि:

+0

आपने क्या उदाहरण पाया है जो काम नहीं करते? वे कैसे काम नहीं करते? – BoltClock

+0

उन्हें किस जगह से बदलें? –

+1

मैं यह भी जोड़ दूंगा कि सभी प्रकार के स्ट्रिंग मैनिपुलेशन प्रश्नों के लिए, यदि आप एक ठोस उदाहरण प्रदान करते हैं या दो जो आप मैनिपुलेशन में जा रहे हैं और आप मैनिपुलेशन से बाहर निकलना चाहते हैं तो यह सही जवाब प्राप्त करने में मदद करता है । – EBGreen

उत्तर

65

मैं सामान्य रूप से की तरह कुछ का उपयोग करें।

+11

आपको PHP 'preg_replace ('/ [^ \ w] + /', '' $ string) में regex के लिए एकल उद्धरणों का उपयोग करना चाहिए, उनमें से दोहरे उद्धरण अप्रत्याशित व्यवहार – DarkMukke

6
<?php 
$string = 'April 15, 2003'; 
$pattern = '/[^\w ]+/'; 
$replacement = ''; 
echo preg_replace($pattern, $replacement, $string); 
?> 
21
[^0-9a-zA-Z_\s] 

क्या आप बदलना चाहते है।

+16

के परिणामस्वरूप मुझे इसी तरह की मदद कर सकते हैं मुद्दा। धन्यवाद! (इसे पढ़ने के लिए, इसे इस तरह के स्लेश में लपेटना न भूलें: '$ new_string = preg_replace ('/ [^ 0-9a-zA-Z _] /'," ", $ old_string) 'मैंने बाहर निकाला \ s क्योंकि मुझे रिक्त स्थान की अनुमति देने की आवश्यकता नहीं थी। – TecBrat

+1

'\ s' का मतलब हमेशा अंतरिक्ष नहीं है ... –

संबंधित मुद्दे