ホームページ > バックエンド開発 > PHPチュートリアル > PHP による中国語の文字のインターセプトに関する問題

PHP による中国語の文字のインターセプトに関する問題

WBOY
リリース: 2016-06-23 14:21:29
オリジナル
796 人が閲覧しました

北京崇文区のチャイナユニコムADSL

都市から始まる最初の2文字をインターセプトしたいのですが、どう書けばよいですか?


ディスカッションへの返信 (解決策)

echo strtok('北京崇文区ユニコム ADSL', 'city') //北京

echo strtok('深セン万里の長城ブロードバンド、広東省', 'city'); ; //広東

司会者、これが私の前にある場合は、都市で始まる最初の 2 文字を横取りしたいと思います。

echo strtok('Beijing Chongwen District China Unicom ADSL', 'city'); //北京

モデレータが他にできることはありますか?

$s = '广东省深圳市长城宽带';preg_match_all('/(.+?)(省|市|$)/', $s, $r);$r = array_combine($r[2], $r[1]);print_r($r);
ログイン後にコピー
Array
(
[省] => 広東省
[都市] => 深セン
[] => 万里の長城ブロードバンド
)

定義 $a = '中国の人々'
サーバーがサポートしている場合複数のバイト文字列関数、
$b = mb_substr($a, 0, 2, 'utf-8'); を使用します
サポートされていない場合は、
$b = implode('', array_slice(preg_split('//u ') , $a), 0, 3));

最終的な出力 $b は「中国」です。

モデレータさん、ありがとうございます。

$a = '中国人'; を定義します
サーバーがマルチバイト文字列関数をサポートしている場合は、
$b = mb_substr($a, 0, 2, 'utf-8'); を使用します
サポートしていない場合は、
$b = implode('', array_slice(preg_split('//u', $a), 0, 3)); を使用します。

最終的な出力 $b は「中国」です。
中国の前にさらにいくつかの紐がある場合はどうなりますか? 「民」の前にある 2 つの漢字をインターセプトしたいのですが?

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート