मैंने निम्नलिखित कार्य लिखा है। यह निम्नलिखित को प्रतिस्थापित करता है:
एकल कोट [ '] स्लैश और एकल उद्धरण [\ के साथ']
बैकस्लैश [\] के साथ दो बैकस्लैश [\\]
function escapePhpString($target) {
$replacements = array(
"'" => '\\\'',
"\\" => '\\\\'
);
return strtr($target, $replacements);
}
आप में जोड़ने के लिए या चरित्र प्रतिस्थापन दूर करने के लिए संशोधित कर सकते हैं $ प्रतिस्थापन सरणी। उदाहरण के लिए, \ r \ n को प्रतिस्थापित करने के लिए यह "\ r \ n" => "\ r \ n" और "\ n" => "\ n" बन जाता है।
/**
* With new line replacements too
*/
function escapePhpString($target) {
$replacements = array(
"'" => '\\\'',
"\\" => '\\\\',
"\r\n" => "\\r\\n",
"\n" => "\\n"
);
return strtr($target, $replacements);
}
स्ट्रेट के बारे में साफ सुविधा यह है कि यह लंबी प्रतिस्थापन पसंद करेगी। उदाहरण, "कूल \ r \ n फ़ीचर" \ n \ n से बचने के बजाय \ r \ n से बच जाएगा।
स्रोत
2015-11-19 15:15:20
आपको एकल से अधिक उद्धरणों से बचने की आवश्यकता होगी। एक के लिए, न्यूलाइन। आप 'addcslashes ($ mystringWithSingleQuotes,' '\ "\ r \ n \\\ t \ 0 .. \ 37")' –
जैसे कुछ से कुछ ठीक कर सकते हैं जैसे स्वयं से बचने के बजाय, 'json_encode() 'का उपयोग करने के लिए एक वैध जावास्क्रिप्ट स्ट्रिंग (और अपने बाहरी सिंगल कोट्स को हटा दें) – mario
@ फ्रैंक: क्या आप टिप्पणी के बजाए अपना उत्तर उत्तर के रूप में पोस्ट कर सकते हैं? टिप्पणियों में उचित उत्तरों का चयन नहीं किया जा सकता है और इसलिए नकली "अनुत्तरित प्रश्न" बनाते हैं। – Sylverdrag