दिलचस्प पोस्ट
दोहरे मूल्य के दशमलव स्थानों की सही संख्या 'cout' कैसे करें? अलग अल्पविराम से अलग किए गए मान और तालिका में एसक्यूएल सर्वर में स्टोर करें एंड्रॉइड एप्लिकेशन के साथ मौजूदा डेटाबेस का उपयोग कैसे करें पृष्ठ दिखाना बंद करें जावास्क्रिप्ट में स्प्रेड ऑपरेटर का कई बार उपयोग करना? jQuery मोबाइल: डेटा को एक पृष्ठ से दूसरी ओर भेजा जा रहा है सेटपिक्सेल बहुत धीमा है क्या बिटमैप में आकर्षित करने का एक तेज़ तरीका है? मैं किसी विशिष्ट प्रतिबद्ध के लिए एक github रिपॉजिटरी रोलबैक कैसे कर सकता हूं? इकाई फ़्रेमवर्क 5 में एक बच्चे ऑब्जेक्ट की बाल ऑब्जेक्ट कैसे शामिल करें MySQL क्वेरी में यूनियन और LIMIT संचालन के संयोजन सरणी के अंतिम तत्व को हटाने के बिना सबसे अच्छा तरीका क्या है? जावास्क्रिप्ट कल किसी ऑब्जेक्ट में JSON का वर्णन करना Jquery एक जावास्क्रिप्ट पुस्तकालय या ढांचा है? क्या दस्तावेज़ में कई XML घोषणाएं अच्छी तरह से बनाई गई XML हो सकती हैं?

PHP स्ट्रिंग से विशेष वर्ण निकालें

मुझे विशेष वर्णों को निकालने में समस्या है मैं "() /।% – और" को छोड़कर सभी विशेष वर्णों को निकालना चाहता हूं, क्योंकि मैं उस स्ट्रिंग को शीर्षक के रूप में सेट कर रहा हूं

मैंने मूल से कोड संपादित किया है (नीचे देखें):

preg_replace('/[^a-zA-Z0-9_ -%][().][\/]/s', '', $String); 

लेकिन यह विशेष वर्णों को हटाने के लिए काम नहीं कर रहा है जैसे: "â € ™," â € œ, "â €, दूसरों के बीच में

मूल कोड: (यह काम करता है लेकिन यह इन वर्णों को निकालता है: "() /।% – &")

 preg_replace('/[^a-zA-Z0-9_ -]/s', '', $String); 

Solutions Collecting From Web of "PHP स्ट्रिंग से विशेष वर्ण निकालें"

आपका डॉट सभी वर्णों से मेल खाता है इसे (और अन्य विशेष वर्णों) से बचें, जैसे:

 preg_replace('/[^a-zA-Z0-9_ %\[\]\.\(\)%&-]/s', '', $String); 
 preg_replace('#[^\w()/.%\-&]#',"",$string); 

अच्छा प्रयास! मुझे लगता है कि आपको कुछ छोटे बदलाव करना है:

  • वर्ण वर्ग (जो [ और ] द्वारा भी इंगित किया जाता है) के अंदर वर्ग कोष्ठक ( [ और ] ) से बचें
  • एस्केप वर्ण ( \ ) खुद से बचें
  • इसके अलावा इसमें एक बोली है जहां - विशेष है: यदि यह दो वर्णों के बीच है, तो यह एक सीमा का मतलब है, लेकिन अगर यह शुरुआत या अंत में है, तो इसका मतलब शाब्दिक चरित्र है।

आपको ऐसा कुछ चाहिए:

 preg_replace('/[^a-zA-Z0-9_%\[().\]\\/-]/s', '', $String); 

यदि आप इस विषय पर आगे पढ़ना चाहते हैं तो http://docs.activestate.com/activeperl/5.10/lib/pods/perlrecharclass.html#special_characters_inside_a_bracketed_character_class देखें।

आप चाहते हैं कि str की जगह , क्योंकि प्रदर्शन के अनुसार यह बहुत सस्ता है और अभी भी आपकी आवश्यकताओं के अनुरूप है!

 $title = str_replace( array( '\'', '"', ',' , ';', '<', '>' ), ' ', $rawtitle); 

(जब तक यह सुरक्षा और एसक्यूएल इंजेक्शन के बारे में नहीं है, तब तक, मैं स्वीकार्य पात्रों की सकारात्मक सूची के साथ जाना चाहूंगा … यहां तक ​​कि बेहतर, परीक्षण के साथ रहें, साबित दिनचर्या।)

बीटीडब्ल्यू, चूंकि ओपी ने शीर्षक-सेटिंग के बारे में बात की थी: मैं कुछ नहीं के साथ विशेष वर्णों की जगह नहीं होगी, लेकिन एक जगह के साथ एक सतही स्थान एक समस्या से कम है, जो दो शब्दों से एक साथ चिपका है …

 <?php $string = '`~!@#$%^&^&*()_+{}[]|\/;:"< >,.?-<h1>You .</h1><p> text</p>'."'"; $string=strip_tags($string,""); $string = preg_replace('/[^A-Za-z0-9\s.\s-]/','',$string); echo $string = str_replace( array( '-', '.' ), '', $string); ?> 
 preg_replace('/[^a-zA-Z0-9_ \-()\/%-&]/s', '', $String); 

उदाहरण देखें

 /** * nv_get_plaintext() * * @param mixed $string * @return */ function nv_get_plaintext( $string, $keep_image = false, $keep_link = false ) { // Get image tags if( $keep_image ) { if( preg_match_all( "/\<img[^\>]*src=\"([^\"]*)\"[^\>]*\>/is", $string, $match ) ) { foreach( $match[0] as $key => $_m ) { $textimg = ''; if( strpos( $match[1][$key], 'data:image/png;base64' ) === false ) { $textimg = " " . $match[1][$key]; } if( preg_match_all( "/\<img[^\>]*alt=\"([^\"]+)\"[^\>]*\>/is", $_m, $m_alt ) ) { $textimg .= " " . $m_alt[1][0]; } $string = str_replace( $_m, $textimg, $string ); } } } // Get link tags if( $keep_link ) { if( preg_match_all( "/\<a[^\>]*href=\"([^\"]+)\"[^\>]*\>(.*)\<\/a\>/isU", $string, $match ) ) { foreach( $match[0] as $key => $_m ) { $string = str_replace( $_m, $match[1][$key] . " " . $match[2][$key], $string ); } } } $string = str_replace( ' ', ' ', strip_tags( $string ) ); return preg_replace( '/[ ]+/', ' ', $string ); }