PHP: Strings(文字列関数) - Manual
PHP  
downloads | documentation | faq | getting help | mailing lists | | php.net sites | links | my php.net 
search for in the  
<stream_wrapper_unregisteraddcslashes>
view the version of this page
Last updated: Tue, 21 Dec 2004

CXVI. Strings(文字列関数)

導入

以下の関数はすべて、文字列をいろいろな方法で操作します。正規表現や URL処理の節にも関連する記述があります。

文字列の動作に関する情報、特にシングルクオート、ダブルクオート、エ スケープシーケンスについては、マニュアルの の節にある 文字列エントリを参照 下さい。

要件

これらの関数は、標準モジュールの一部として利用可能であり、常に使用できます。

インストール手順

これらの関数はPHPコアに含まれるため、使用す る際にインストールは不要です。

定義済みの定数

この拡張モジュールは定数を全く定義しません。

以下も参照下さい

より強力な文字列処理および処理関数については、 POSIX正規表現関数および Perl互換正規表現関数を参照して下 さい。

目次
addcslashes -- C言語と同様にスラッシュで文字列をクォートする
addslashes -- 文字列をスラッシュでクォートする
bin2hex --  バイナリデータを16進表現に変換する
chop -- rtrim()へのエイリアス
chr -- 特定の文字を返す
chunk_split -- 文字列をより小さな部分に分割する
convert_cyr_string --  Cyrillic 文字コードを他のコードに変換する
convert_uudecode --  Decode a uuencoded string
convert_uuencode --  Uuencode a string
count_chars --  文字列で使用されている文字に関する情報を返す
crc32 -- 文字列の crc32 多項式計算を行う
crypt -- 文字列の一方向の暗号化(ハッシュ化)を行う
echo -- 1つ以上の文字列を出力する
explode -- 文字列を文字列により分割する
fprintf -- Write a formatted string to a stream
get_html_translation_table --  htmlspecialchars() および htmlentities() で使用される変換テーブルを返す
hebrev --  Hebrew 論理テキストを可視テキストに変換
hebrevc --  Hebrew 論理テキストを改行を変換して可視テキストに変換する
html_entity_decode --  Convert all HTML entities to their applicable characters
htmlentities --  適用可能な文字を全てHTMLエンティティに変換する
htmlspecialchars --  特殊文字をHTMLエンティティに変換する
implode -- 配列要素を文字列により連結する
join -- 配列要素を文字列により連結する
levenshtein --  二つの文字列のLevenshtein距離を計算する
localeconv -- 数値に関するフォーマット情報を得る
ltrim --  文字列の最初から空白文字を取り除く
md5_file -- 指定したファイルのMD5ハッシュ値を計算する
md5 -- 文字列のmd5ハッシュ値を計算する
metaphone -- 文字列の metaphone キーを計算する
money_format -- Formats a number as a currency string
nl_langinfo --  言語及びロケール情報を検索する
nl2br -- 改行文字の前にHTMLの改行指定文字を挿入する
number_format -- Format a number with grouped thousands
ord -- 文字のASCII値を返す
parse_str -- 文字列を処理し、変数に代入する
print -- 文字列を出力する
printf -- フォーマット済みの文字列を出力する
quoted_printable_decode --  quoted-printable文字列を8ビット文字列に変換
QuoteMeta -- メタ文字をクォートする
rtrim -- 文字列の最後から空白文字を削除する
setlocale -- ロケール情報をセットする
sha1_file -- あるファイルのsha1ハッシュを計算する
sha1 -- ある文字列のsha1ハッシュを計算する
similar_text -- 二つの文字列の間の類似性を見積もる
soundex -- 文字列のsoundexキーを計算する
sprintf -- フォーマットされた文字列を返す
sscanf -- フォーマット文字列に基づき入力を処理する
str_ireplace --  Case-insensitive version of str_replace().
str_pad -- 文字列を固定長の他の文字列で埋める
str_repeat -- 文字列を反復する
str_replace --  文字列 subject 中の文字列 search を全て文字列replaceに置換する
str_rot13 -- 文字列にrot13変換を行う
str_shuffle -- Randomly shuffles a string
str_split --  Convert a string to an array
str_word_count --  Return information about words used in a string
strcasecmp --  大文字小文字を区別しないバイナリにも使用可能な文字列比較を行う
strchr --  文字が最初に現れるところを探す
strcmp -- バイナリでも使える文字列比較
strcoll -- ロケールに基づく文字列比較
strcspn --  マスクにマッチしない最初のセグメントの長さを返す
strip_tags -- 文字列からHTMLおよびPHPタグを取り除く
stripcslashes --  addcslashesでクォートされた文字列をアンクォートする
stripos --  大文字/小文字を区別せずに文字列が最初に現れる位置を探す
stripslashes --  addslashesでクォートされた文字列のクォート部分を取り除く
stristr --  大文字小文字を区別しない strstr()
strlen -- 文字列の長さを得る
strnatcasecmp --  "自然順"アルゴリズムにより大文字小文字を区別しない文字列比較を行う
strnatcmp --  "自然順"アルゴリズムにより文字列比較を行う
strncasecmp --  バイナリ対応の大文字小文字を区別しない文字列比較を最初のn文字につ いて行う
strncmp --  最初のn文字についてバイナリ対応の文字列比較を行う
strpbrk --  Search a string for any of a set of characters
strpos --  文字列が最初に現れる場所を見つける
strrchr --  文字列中に文字が最後に現れる場所を取得する
strrev -- 文字列を逆順にする
strripos --  Find position of last occurrence of a case-insensitive string in a string
strrpos --  文字列中に、ある文字が最後に現れる場所を探す
strspn --  マスクに一致する最初のセグメントの長さを返す
strstr -- 文字列が最初に現れる位置を見つける
strtok -- 文字列をトークンに分割する
strtolower -- 文字列を小文字にする
strtoupper -- 文字列を大文字にする
strtr -- 特定の文字を変換する
substr_compare --  Binary safe optionally case insensitive comparison of 2 strings from an offset, up to length characters
substr_count -- 副文字列の出現関数を数える
substr_replace -- 文字列の一部を置換する
substr -- 文字列の一部分を返す
trim --  文字列の先頭および末尾にあるホワイトスペースを取り除く
ucfirst -- 文字列の最初の文字を大文字にする
ucwords --  文字列の各単語の最初の文字を大文字にする
vfprintf -- Write a formatted string to a stream
vprintf -- フォーマットされた文字列を出力する
vsprintf -- フォーマットされた文字列を返す
wordwrap --  文字列分割文字を使用して指定した文字数数に文字列を分割する


add a note add a note User Contributed Notes
Strings(文字列関数)
kristin at greenapple dot on dot ca
02-Jan-2005 04:32
I really searched for a function that would do this as I've seen it in other languages but I couldn't find it here. This is particularily useful when combined with substr() to take the first part of a string up to a certain point.

strnpos() - Find the nth position of needle in haystack.

<?php

  
function strnpos($haystack, $needle, $occurance, $pos = 0) {
      
       for (
$i = 1; $i <= $occurance; $i++) {
          
$pos = strpos($haystack, $needle, $pos) + 1;
       }
       return
$pos - 1;
      
   }

?>

Example: Give me everything up to the fourth occurance of '/'.

<?php

   $haystack
= "/home/username/www/index.php";
  
$needle = "/";
  
  
$root_dir = substr($haystack, 0, strnpos($haystack, $needle, 4));
  
   echo
$root_dir;
  
?>

Returns: /home/username/www

Use this example with the server variable $_SERVER['SCRIPT_NAME'] as the haystack and you can self-discover a document's root directory for the purposes of locating global files automatically!
21-Dec-2004 04:31
In response to hackajar <matt> yahoo <trot> com,

No string-to-array function exists because it is not needed. If you reference a string with an offset like you do with an array, the character at that offset will be return. This is documented in section III.11's "Strings" article under the "String access and modification by character" heading.
andy a t onesandzeros d o t biz
09-Nov-2004 10:54
I use these little doo-dads quite a bit. I just thought I'd share them and maybe save someone a little time. No biggy. :)

// returns true if $str begins with $sub
function beginsWith( $str, $sub ) {
   return ( substr( $str, 0, strlen( $sub ) ) == $sub );
}

// return tru if $str ends with $sub
function endsWith( $str, $sub ) {
   return ( substr( $str, strlen( $str ) - strlen( $sub ) ) == $sub );
}

// trims off x chars from the front of a string
// or the matching string in $off is trimmed off
function trimOffFront( $off, $str ) {
   if( is_numeric( $off ) )
       return substr( $str, $off );
   else
       return substr( $str, strlen( $off ) );
}

// trims off x chars from the end of a string
// or the matching string in $off is trimmed off
function trimOffEnd( $off, $str ) {
   if( is_numeric( $off ) )
       return substr( $str, 0, strlen( $str ) - $off );
   else
       return substr( $str, 0, strlen( $str ) - strlen( $off ) );
}
[tab!]
27-Oct-2004 07:29
//
// string strtrmvistl(  string str, [int maxlen = 64],
//                      [bool right_justify = false],
//                      [string delimter = "<br>\n"])
//
// splits a long string into two chunks (a start and an end chunk)
// of a given maximum length and seperates them by a given delimeter.
// a second chunk can be right-justified within maxlen.
// may be used to 'spread' a string over two lines.
//

function strtrmvistl($str, $maxlen = 64, $right_justify = false, $delimter = "<br>\n") {
   if(($len = strlen($str = chop($str))) > ($maxlen = max($maxlen, 12))) {
       $newstr = substr($str, 0, $maxlen - 3);

       if($len > ($maxlen - 3)) {
           $endlen = min(($len - strlen($newstr)), $maxlen - 3);
           $newstr .= "..." . $delimter;

           if($right_justify)
               $newstr .= str_pad('', $maxlen - $endlen - 3, ' ');

           $newstr .= "..." . substr($str, $len - $endlen);
       }

       return($newstr);
   }

   return($str);
}
terry dot greenlaw at logicalshift dot com
12-Aug-2004 05:52
Here's a simpler "simplest" way to toggle through a set of 1..n colors for web backgrounds:

<?php
$colours
= array('#000000', '#808080', '#A0A0A0', '#FFFFFF');

// Get a colour
$color = next($colors) or $color = reset($colors);
?>

The code doesn't need to know anything about the number of elements being cycled through. That way you won't have to tracking down all the code when changing the number of colors or the color values.

<stream_wrapper_unregisteraddcslashes>
 Last updated: Tue, 21 Dec 2004
show source | credits | sitemap | contact | advertising | mirror sites 
Copyright © 2001-2005 The PHP Group
All rights reserved.
This unofficial mirror is operated at: /
Last updated: Mon Mar 14 08:13:06 2005 Local time zone must be set--see zic manual page