ホームページ > バックエンド開発 > PHPチュートリアル > PHP は中国語文字列を出現させずにインターセプトを実装します

PHP は中国語文字列を出現させずにインターセプトを実装します

高洛峰
リリース: 2023-03-05 08:32:01
オリジナル
1303 人が閲覧しました

この記事の例では、PHP が ? 記号のない中国語の文字列をインターセプトするためのソリューションを説明します。参考のために皆さんと共有してください。詳細は次のとおりです。

PHP が中国語と英語の混合文字列をインターセプトする場合、最後の中国語の文字が 2 つの半分に分割されることがよくあります。例: 文字列の最初の 18 文字をインターセプトします。

<?php
$text = "1欢迎访问sina新浪播客";
$value = substr($text, 0, 18);
echo $value."<BR>";
?>
ログイン後にコピー

出力は結果です:

1欢迎访问新浪?BR>
ログイン後にコピー

そこで、中国語と英語の混合文字列内の中国語文字のバイト数が奇数であるかどうかを判断するために次のコードを作成し、1 バイト少ない値をインターセプトして、漢字が完全に表示されていることを確認してください。

<?php
$text = "1欢迎访问sina新浪播客";
$value = substr($text, 0, 18);
$value_length = strlen($value);
$value_count = 0;
for ($i = 0; $i < $value_length; $i++)
{
  if (ord($value{$i}) > 127)
  {
    $value_count++;
  }
}
if ($value_count % 2 != 0)
{
  $value = substr($text, 0, $value_length - 1);
}
echo $value."<BR>";
?>
ログイン後にコピー


出力は次のとおりです:

1欢迎访问sina新浪
ログイン後にコピー

この記事が PHP プログラミングのすべての人に役立つことを願っています。

中国語文字列を表示せずにインターセプトする PHP 実装に関するその他の関連記事については、PHP 中国語 Web サイトに注目してください。

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