文字列を数える必要がstrlen
ありmb_strlen
ますが、文字列内のすべての文字が得られます。指定された文字列の文字 [az][AZ] のみをカウントしたいのですが、定義された関数ごとに存在します。または、独自のロジックを開発する必要があります。
14206 次
5 に答える
9
テスト済み
次の正規表現は、すべての数字、記号、およびスペースを置き換えます。簡単に言うと..アルファベットのみを許可A-Z
しa-z
、他のものは考慮されません。
<?php
$str='Hello World345345 *90234 $$5assd54';
$str = preg_replace("/[^A-Za-z]/","",$str);
echo $str;//HelloWorldassd
echo strlen($str);//14
于 2013-10-26T08:27:41.553 に答える
7
独自のロジックを使用する必要があると思います。az と AZ のカウントのみに関心がある場合は、次のようにします。
<?php
$string= 'This is my sample string.';
echo "Everything: ".strlen($string);
echo '<br />';
echo "Only alphabetical: ".strlen(preg_replace('/[^a-zA-Z]/', '', $string));
?>
基本的には、許可された文字リストにないものをすべて削除してから、結果の文字数を数えるだけです。
于 2013-10-26T08:21:29.533 に答える
0
$word = explode( ' ',$sentence );
$words = count( $word );
于 2014-03-28T18:51:19.567 に答える
0
正規表現を使用してpreg_match_all
、一致数を返すことをお勧めします。なぜ再?実際のサイズをカウントするために、変換する新しい文字を追加する必要がある場合が多いためです。
<?php
$str = ' this is my String with spécial chars';
echo strlen($str) . "\n";
echo preg_match_all ('/[A-Za-z]/', $str, $out) . "\n" ;
38
と を生成し29
ます。
于 2013-10-26T08:23:54.233 に答える