ホームページ  >  記事  >  バックエンド開発  >  Joomla フレームワークの文字列インターセプトの例

Joomla フレームワークの文字列インターセプトの例

小云云
小云云オリジナル
2018-02-06 10:51:431161ブラウズ

Joomla で開発する場合、外部リソース、いくつかのモジュール、コンポーネント、プラグインなどを使用する必要がありますが、文字列メソッドを変更する必要があることがわかります。 PHP の substr メソッドは中国語以外の文字列に対してのみ有効であるため、文字のインターセプトの問題を簡単に解決できる、別のシンプルで簡単なメソッド mb_substr を使用する必要があります。

この記事では主に文字列インターセプトを実装するための Joomla フレームワークを紹介し、PHP 文字列と通常の操作に関連するテクニックを紹介します。

同時に、中国語、英語、中国語と英語の混合配列 (句読点を除く) の 3 つの方法で文字列をインターセプトする必要がある場合は、正規表現が役に立ちます。ソース コードは参考のために添付されています。


/*截取字符串方法*/
//$str字符串
//$number为最大长度
function cutStrTitle($str, $number){
  $str = strip_tags($str);
  $en=preg_match('/^[a-zA-Z]/', $str);//匹配英文字母
  $cn=preg_match_all("/([\x{4e00}-\x{9fa5}]){1}/u",$str,$arrc);//匹配汉字,统计个数,返回给$arrc
  if(mb_strlen($str,&#39;UTF8&#39;)<= $number){//&#39;UTF8&#39;跟据字符串的格式调整
    return $str;
  }
  else{
    if($en)
    {
      if($cn){
        //中英文混合情况下
        return mb_substr($str,0,$number+2,&#39;utf-8&#39;).&#39;...&#39;;
      }
      else{
        //全为英文情况下
        return mb_substr($str,0,$number+4,&#39;utf-8&#39;).&#39;...&#39;;
      }
    }
    else {
      //全为中文情况下
      return mb_substr($str,0,$number,&#39;utf-8&#39;).&#39;...&#39;;
    }
  }
}

関連する推奨事項:

php中国語の文字列インターセプト方法の例の概要

以上がJoomla フレームワークの文字列インターセプトの例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。