functions-online

String

Execute and test PHP functions for string manipulation.

addslashes

クォートされるべき文字の前にバックスラッシュを付けて返します。 クォートされるべき文字とは、シングルクォート('), ダブルクォート("),バックスラッシュ (\) ,NUL (NULL バイト) です。

bin2hex

$str を16進表現に変換したASCII文字列を返します。変換は、上位ニブルからバイト毎に行われます。

chr

$asciiで指定された、1文字からなる文字列を返します。

chunk_split

文字列をより小さな部分に分割する際に使用され、 base64_encode() の出力を RFC 2045の規約に基づいた出力に変換するといった用途に適しています。 この関数は、$chunklen 文字毎に文字列 $end を挿入します。

count_chars

$string において各バイト値 (0..255) が存在する数をかぞえ、様々な手法で返します。

explode

文字列の配列を返します。この配列の各要素は、 $string を文字列 $delimiter で区切った部分文字列となります。

html_entity_decode

html_entity_decode() は htmlentities() の反対で、$string にあるすべての HTML エンティティを適切な文字に変換します。

htmlentities

この関数は htmlspecialchars()と同じですが、 HTML エンティティと等価な意味を有する文字をHTMLエンティティに変換します。

htmlspecialchars

文字の中には HTML において特殊な意味を持つものがあり、 それらの本来の値を表示したければ HTML の表現形式に変換してやらなければなりません。 この関数は、これらの変換を行った結果の文字列を返します。 入力文字列の中で名前付きエンティティに関連づけられたものを すべて変換する必要がある場合には、代わりに htmlentities() を使用してください。

この関数への入力文字列と最終的なドキュメントとの間で文字セットが一致している場合は、 この関数を使えば HTML ドキュメントに組み込むための準備として十分です。 しかし、この関数への入力の中に、最終的なドキュメントの文字セットでは符号化できない文字がある場合もあります。 そんな文字も (数値エンティティや名前つきエンティティなどで) 残したい場合は、 この関数と htmlentities() (これは、名前付きエンティティに対応する文字しか置換しません) を使うだけでは不十分です。そんな場合は mb_encode_numericentity() を使う必要があります。

implode

配列の要素を $glue 文字列で連結します。

levenshtein

レーベンシュタイン距離は、$str1 を $str2 に変換するために置換、挿入、削除 しなければならない最小の文字数として定義されます。アルゴリズムの複雑さは、 O(m*n) です。 ここで、n および m はそれぞれ $str1 および $str2 の長さです (O(max(n,m)**3) となる similar_text() よりは良いですが、 まだかなりの計算量です)。

上記の最も簡単な形式では、この関数はパラメータとして引数を二つだけとり、 $str1 から $str2 に変換する際に必要な 挿入、置換、削除演算の数のみを計算します。

number_format

この関数は 1 つか 2 つもしくは 4 つのパラメータを受け取ります (3 つはありません) :

パラメータが 1 つだけ渡された場合、 number は千位毎にカンマ (",") が追加され、 小数なしでフォーマットされます。

パラメータが 2 つ渡された場合、$number は $decimals 桁の小数の前にドット (".") 、 千位毎にカンマ (",") が追加されてフォーマットされます。

パラメータが 4 つ全て渡された場合、number はドット (".") の代わりに dec_point が $decimals 桁の小数の前に、千位毎にカンマ (",") の代わりに $thousands_sep が追加されてフォーマットされます。

ord

$string の先頭文字の ASCII 値を返します。 この関数は chr() と逆の動作をします。

parse_str

URL 経由で渡されるクエリ文字列と同様に $str を処理し、現在のスコープに変数をセットします。

similar_text

この関数は、Programming Classics: Implementing the World's Best Algorithms by Oliver (ISBN 0-131-00413-1) に記述されたように二つの文字列の間の類似性を計算します。 この実装は Oliver の擬似コードの様にスタックを使用せず、 プロセス全体の速度が改善されるかどうかにかかわらず再帰呼び出しを行うことに注意してください。 このアルゴリズムの複雑さは、O(N**3) であることにも注意してください。 ただし、N は最も長い文字列の長さです。

soundex

$str の soundex キーを計算します。

soundex キーには、似たような発音の単語に関して同じ soundex キーが生成されるという特性があります。 このため、発音は知っているが、スペルがわからない場合に、 データベースを検索することを容易にすることができます。 soundex 関数は、ある文字から始まる 4 文字の文字列を返します。

この soundex 関数についての説明は、Donald Knuth の "The Art Of Computer Programming, vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392 にあります。

str_pad

この関数は文字列 $input の左、右または両側を指定した長さで埋めます。オプションの引数 $pad_string が指定されていない場合は、 $input は空白で埋められ、それ以外の場合は、 $pad_string からの文字で制限まで埋められます。

str_replace

この関数は、$subject の中の $search を全て $replace に置換します。

(正規表現のような) 技巧的な置換ルールを必要としない場合、 preg_replace() の代わりにこの関数を常用するべきです。

str_rot13

引数 $str に対して ROT13 変換を施し、 その結果の文字列を返します。

ROT13 は、各文字をアルファベット順に 13 文字シフトさせ、 アルファベット以外の文字はそのままとするエンコードを行います。 エンコードとデコードは同じ関数で行われます。 引数にエンコードされた文字列を指定した場合には、元の文字列が返されます。

strip_tags

この関数は、指定した文字列 ($str) から全ての NUL バイトと HTML および PHP タグを取り除きます。 この関数は、fgetss() 関数と同じタグ除去アルゴリズムを使用します。

stripos

文字列 $haystack の中で $needle が最初に現れる位置を探します。

stristr

$haystack において $needle が最初に見つかった位置を含めてそこから最後までを返します。

strlen

与えられた $string の長さを返します。

strncmp

この関数は strcmp() に似ていますが、 各文字列から(最大)文字数(len) を比較に使用するところが異なります。

比較は大文字小文字を区別することに注意してください。

strpos

文字列 $haystack の中で、 $needle が最初に現れる位置を探します。

strripos

文字列 $haystack の中で、 $needle が最後に現れる位置を探します。

strrpos

文字列 $haystack の中で、 $needle が最後に現れる位置を探します。

strstr

$haystack の中で $needle が最初に現れる場所を含めてそこから文字列の終わりまでを返します。

strtolower

$string のアルファベット部分をすべて小文字にして返します。

「アルファベット部分」は現在のロケールにより決定されます。 つまり、たとえばデフォルトの「C」ロケールである場合は、 A ウムラウト (?) のような文字は変換されません。

strtoupper

$string のアルファベット部分をすべて大文字にして返します。

「アルファベット部分」は現在のロケールにより決定されます。 つまり、たとえばデフォルトの「C」ロケールである場合は、 a ウムラウト (?) のような文字は変換されません。

strtr

引数を三つ渡した場合、この関数は $str のコピーを返します。その際に、文字列中に $from の各文字 (シングルバイト) があれば $to の対応する文字に変換します。つまり、すべての $from[$n] が $to[$n] に置換されることになります。ここで $n は、どちらの引数でも共通に有効なオフセットです。

$from と $to の長さが異なる場合、長い方の余分な文字は無視されます。 返される文字列の長さは、もとの $str と同じになります。

substr

文字列 $string の、$start で指定された位置から $length バイト分の文字列を返します。

substr_count

substr_count() は、文字列 $haystack の中での副文字列 $needle の出現回数を返します。 $needle は英大小文字を区別することに注意してください。

trim

この関数は $str の最初および最後から空白文字を取り除き、 取り除かれた文字列を返します。2番目のパラメータを指定しない場合、 trim()は以下の文字を削除します。

  • " " (ASCII 32 (0x20)), 通常の空白。
  • "\t" (ASCII 9 (0x09)), タブ。
  • "\n" (ASCII 10 (0x0A)), リターン。
  • "\r" (ASCII 13 (0x0D)), 改行。
  • "\0" (ASCII 0 (0x00)), NULバイト
  • "\x0B" (ASCII 11 (0x0B)), 垂直タブ

ucfirst

$str の最初の文字がアルファベットであれば、 それを大文字にします。

「アルファベット」かどうかというのは現在のロケールにより決定されます。 たとえば、デフォルトの "C" ロケールでは、a ウムラウト (ä) は変換されません。

ucwords

文字がアルファベットの場合、$str の各単語の最初の文字を大文字にしたものを返します。

単語の定義は、空白文字 (スペース、フォームフィード、改行、キャリッジリターン、 水平タブ、垂直タブ) の直後にあるあらゆる文字からなる文字列です。

vsprintf

sprintf()と動作は同じですが、 可変長の引数ではなく配列を引数とします。

wordwrap

指定した文字数で、指定した文字を用いて文字列を分割します。