[英]Replacing UTF-8 KeyCap Digit Character in PHP
我正在嘗試從字符串中替換這些 [0️⃣1️⃣2️⃣2️⃣3️⃣4️⃣5️⃣6️⃣7️⃣8️⃣9️⃣] 個 UTF 字符。 但不知何故,所有其他數字字符也被替換了。 我試過使用按范圍替換。 這是我嘗試過的
$post = ' 🗡️7️⃣8️⃣6️⃣🗡️ ';
$post = preg_replace('/[\x{0030}-\x{0040}]/u', '', $post);
echo $post;
怎么做
您可以刪除所有后面帶有變音符號的數字(您共享的所有數字實際上都是后面帶有一些變音符號的數字):
preg_replace('/[0-9]\p{M}+/u', '', $post)
[0-9]
將匹配從0
到9
的 ASCII 數字,而\p{M}+
匹配 1 個或多個變音符號。 因此,不會刪除常規 ASCII 數字。
查看正則表達式演示
我不確定你需要什么結果。
鍵的一到九是“5\u{fe0f}\u{20e3}”的組合。 關鍵十是 unicode 符號“\u{1f51f}”。 如果只刪除這些符號,您必須這樣做:
$post = '123🗡️0️⃣1️⃣2️⃣2️⃣3️⃣abc4️⃣x8x5️⃣6️⃣7️⃣8️⃣9️⃣🔟🗡️56';
$post = preg_replace('~[0-9]\x{fe0f}\x{20e3}|\x{1f51f}~u', '', $post);
echo $post;
Output:
123🗡️abcx8x🗡️56
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.