मेरी स्ट्रिंग में मेरे पास utf-8 गैर-ब्रेकिंग स्पेस (0xc2a0) है और मैं इसे किसी और चीज़ से बदलना चाहता हूं।गैर-ब्रेकिंग utf-8 0xc2a0 space और preg_replace अजीब व्यवहार
जब मैं
$str=preg_replace('~\xc2\xa0~', 'X', $str);
का उपयोग यह ठीक काम करता है।
लेकिन जब मैं का उपयोग
$str=preg_replace('~\x{C2A0}~siu', 'W', $str);
नॉन-ब्रेकिंग स्पेस नहीं मिला है (और बदला)।
क्यों? दूसरे regexp के साथ क्या गलत है?
प्रारूप \x{C2A0}
सही है, मैंने भी u
ध्वज का उपयोग किया।
हो सकता है क्योंकि '$ str' यूनिकोड नहीं है स्ट्रिंग। – YOU