/ / Php regex बैकस्लैश को कैसे जोड़ना है? - PHP, regex, .htaccess, बैकस्लैश

पीएचपी regex कैसे बैकस्लैश जोड़ने के लिए? - PHP, regex, .htaccess, बैकस्लैश

मैं सभी गैर अल्फान्यूमेरिक वर्णों से पहले बैकस्लैश जोड़ना चाहता हूं जैसे "क्या हाल है :)", इसलिए मैंने इसका इस्तेमाल किया:

$code = preg_replace("/([^A-Za-z0-9])/i", "$1", $code);

लेकिन यह काम नहीं करता है। इसके बजाय यह सिर्फ $ 1 "echo"। मैं क्या गलत कर रहा हूँ?

मैंने भी कोशिश की

$code = preg_replace("/([^A-Za-z0-9])/i", "\$1", $code);

लेकिन "काम नहीं जीता।

उत्तर:

उत्तर № 1 के लिए 4

आप की जरूरत है चार बैकस्लैश:

 $code = preg_replace("/([^A-Za-z0-9])/i", "\\$1", $code);

कारण यह है कि बैकस्लैश खुद से बच निकलता हैPHP स्ट्रिंग संदर्भ में (यहां तक ​​कि एकल उद्धरण)। पीसीआरई के लिए भी एक को देखने के लिए, आपको कम से कम दो की आवश्यकता है। लेकिन प्रतिस्थापन प्लेसहोल्डर को मुखौटा करने के लिए गलत व्याख्या नहीं किया जा रहा है, आपको अभी भी इसे दोगुना करना होगा। (बीटीडब्ल्यू, तीन बैकस्लाश भी गोपनीय रूप से काम करेंगे।)


जवाब के लिए 0 № 2

उदाहरण:

<?php
$str = "Is your name O"reilly?";

// Outputs: Is your name O"reilly?
echo addslashes($str);
?>