我正則應該怎麼匹配\xf0\x9f\x91\xab。求幫忙!運算式怎麼寫??
回複討論(解決方案)
$s = "\xf0\x9f\x91\xab";var_dump(preg_match('/\xf0\x9f\x91\xab/', $s));
$s = "\xf0\x9f\x91\xab";var_dump(preg_match('/\xf0\x9f\x91\xab/', $s));
那你這個只能匹配一個啊。這隻是其中的一個。
$s = "\xf0\x9f\x91\xab";var_dump(preg_match('/\xf0\x9f\x91\xab/', $s));
那你這個只能匹配一個啊。這隻是其中的一個。
請貼出需要匹配所有內容!!
$s = "\xf0\x9f\x91\xab";var_dump(preg_match('/\xf0\x9f\x91\xab/', $s));
那你這個只能匹配一個啊。這隻是其中的一個。
請貼出需要匹配所有內容!!
比如這樣:你們好啊\xf0\x9f\x98\x83我今天很\xf0\x9f\x86\x93。這個二進位是不確定的。
如果你的字串是utf-8的話,我沒猜錯的話,\xf0\x9f\x98\x83 等等是個分隔字元,整個字串裡面應該只有幾種形式,應把它們各自看作一個字元(無字,只起佔位、分隔作用)
如果你的字串來自某個API,你最好去看看這個API的說明檔
我在你的另一個文章中已經說過了,可惜你的悟性太差
規則串: /\xf0.../
$s = "這隻是程式中的測試文本\xf0\x9f\x98\x83,實際上Emoji是用內碼錶示的\xf0\x9f\x86\x93。";preg_match_all('/\xf0.../', $s, $r);foreach($r[0] as $v) echo current(unpack('H*', $v)), PHP_EOL;f09f9883
f09f8693
我在你的另一個文章中已經說過了,可惜你的悟性太差
規則串: /\xf0.../
$s = "這隻是程式中的測試文本\xf0\x9f\x98\x83,實際上Emoji是用內碼錶示的\xf0\x9f\x86\x93。";preg_match_all('/\xf0.../', $s, $r);foreach($r[0] as $v) echo current(unpack('H*', $v)), PHP_EOL;f09f9883
f09f8693
呵呵,我現在參照你的方法這樣實現
$text = "這隻是程式中的測試文本\xf0\x9f\x98\x83,實際上Emoji是用內碼錶示的\xf0\x9f\x86\x93。";// 回呼函數function call($matches){ return "[emoji]".bin2hex($matches[0])."[/emoji]";}echo preg_replace_callback( "|\xf0...|", "call", $text);