ホームページ >バックエンド開発 >PHPチュートリアル >正規表現で xf0x9fx91xab のようなデータを照合するにはどうすればよいですか
正規表現は xf0x9fx91xab とどのように一致する必要がありますか。助けてください!式はどうやって書けばいいのでしょうか? ?
$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));
文字列が utf-8 の場合、私の推測が正しければ、xf0x9fx98x83 などは文字列全体にいくつかの形式しか存在せず、それぞれが 1 つの文字とみなされるべきです (単語はなく、のみです)。開始プレースホルダー、分離関数)
文字列が API からのものである場合は、API の説明ファイルを確認した方がよいです
別の投稿でもすでに述べましたが、理解が低すぎるのは残念です悪い
ルール文字列: /xf0.../
$s = "这只是程序中的测试文本\xf0\x9f\x98\x83,实际上表情符是用内码表示的\xf0\x9f\x86\x93。";preg_match_all('/\xf0.../', $s, $r);foreach($r[0] as $v) echo current(unpack('H*', $v)), PHP_EOL;f09f9883
あなたの別の投稿でも言いましたが、残念ながらあなたの理解力が低すぎます
ルール文字列: /xf0.../
$s = "这只是程序中的测试文本\xf0\x9f\x98\x83,实际上表情符是用内码表示的\xf0\x9f\x86\x93。";preg_match_all('/\xf0.../', $s, $r);foreach($r[0] as $v) echo current(unpack('H*', $v)), PHP_EOL;f09f9883
$text = "这只是程序中的测试文本\xf0\x9f\x98\x83,实际上表情符是用内码表示的\xf0\x9f\x86\x93。";// 回调函数function call($matches){ return "[emoji]".bin2hex($matches[0])."[/emoji]";}echo preg_replace_callback( "|\xf0...|", "call", $text);を実装するあなたの方法に従っています