php - how to replace 'abc' to 'a\0\0c' -


कैसे 'एबीसी' को 'a \ 0 \ 0c' से बदलना

निम्न कोड विफल है और आउटपुट 'एसी'

  & lt;? Php $ input = 'abc' दें; $ पैटर्न = '/ बी / आई'; $ प्रतिस्थापित = "\\ 0 \\ 0"; $ आउटपुट = प्रीग_रेले ($ पैटर्न, $ प्रतिस्थापित, $ इनपुट); $ आउटपुट गूंज; ? & Gt;  

जब संदेह में अधिक बैकस्लैश जोड़ता है:

  $ प्रतिस्थापित = '\\\\ 0 \\\\ 0';  

एस्केपिंग का पहला स्तर PHP स्ट्रिंग पार्सर के लिए है। दोनों एकल उद्धरण और दोहरे उद्धरण \\ के रूप में \ व्याख्या करते हैं। अगले स्तर regex पार्सर के लिए है।

तो PHP देखता है:

  \\\\ 0 \\\\ 0  

जो इसे के रूप में व्याख्या करता है:

  \\ 0 \\ 0  

जो कि रीजेक्स पार्सर शब्दशः स्ट्रिंग के रूप में व्याख्या करता है:

  \ 0 \ 0  

Comments

Popular posts from this blog

sql - dynamically varied number of conditions in the 'where' statement using LINQ -

asp.net mvc - Dynamically Generated Ajax.BeginForm -

Debug on symbian -