String functionsStrings
These functions all manipulate strings in various ways. Some more
specialized sections can be found in the regular expression and URL
handling sections.
AddSlashesquote string with slashesDescriptionstring addslashesstring str
Returns a string with backslashes before characters that need
to be quoted in database queries etc. These characters are
single quote ('), double quote
("), backslash (\)
and NUL (the null byte).
See also stripslashes, htmlspecialchars
and quotemeta.
bin2hexconvert binary data into hexadecimal representationDescriptionstring bin2hexstring str
Returns an ASCII string containing the hexadecimal representation of
str. The conversion is done byte-wise with
the high-nibble first.
Chopremove trailing whitespaceDescriptionstring chopstring str
Returns the argument string without trailing whitespace.
chop() example
$trimmed = Chop($line);
See also trim.
Chrreturn a specific characterDescriptionstring chrint ascii
Returns a one-character string containing the character specified
by ascii.
chr() example
$str .= chr(27); /* add an escape character at the end of $str */
/* Often this is more useful */
$str = sprintf("The string ends in escape: %c", 27);
This function complements ord. See also
sprintf with a format string of
%c.
chunk_splitSplit a string into smaller chunksDescriptionstring chunk_splitstring stringint chunklenstring end
Can be used to split a string into smaller chunks which is useful
for e.g. converting base64_encode output to
match RFC 2045 semantics. It inserts every
chunklen (defaults to 76) chars the string
end (defaults to "\r\n"). It returns the
new string leaving the original string untouched.
chunk_split() example
# format $data using RFC 2045 semantics
$new_string = chunk_split(base64_encode($data));
This function is significantly faster than
ereg_replace.
convert_cyr_stringConvert from one Cyrillic character set to anotherDescriptionstring convert_cyr_stringstring strstring fromstring to
This function converts the given string from one Cyrillic character set to
another. The from and to arguments
are single characters that represent the source and target Cyrillic character
sets. The supported types are:
k - koi8-r
w - windows-1251
i - iso8859-5
a - x-cp866
d - x-cp866
m - x-mac-cyrillic
cryptDES-encrypt a stringDescriptionstring cryptstring strstring saltcrypt will encrypt a string using the
standard Unix DES encryption method. Arguments
are a string to be encrypted and an optional two-character salt
string to base the encryption on. See the Unix man page for your
crypt function for more information.
If the salt argument is not provided, it will be randomly generated
by PHP.
Some operating systems support more than one type of encryption.
In fact, sometimes the standard DES encryption is replaced by an
MD5 based encryption algorithm. The encryption type is triggered by
the salt argument. At install time, PHP determines the capabilities
of the crypt function and will accept salts for other encryption
types. If no salt is provided, PHP will auto-generate a standard
2-character DES salt by default unless the default encryption type
on the system is MD5 in which case a random MD5-compatible salt
is generated. PHP sets a constant named CRYPT_SALT_LENGTH which
tells you whether a regular 2-character salt applies to your system
or the longer 12-char MD5 salt is applicable.
The standard DES encryption crypt contains
the salt as the first two characters of the output.
On systems where the crypt() function supports multiple encryption
types, the following constants are set to 0 or 1 depending on whether
the given type is available:
CRYPT_STD_DES - Standard DES encryption with a 2-char SALTCRYPT_EXT_DES - Extended DES encryption with a 9-char SALTCRYPT_MD5 - MD5 encryption with a 12-char SALT starting with $1$CRYPT_BLOWFISH - Extended DES encryption with a 16-char SALT starting with $2$
There is no decrypt function, since crypt
uses a one-way algorithm.
echooutput one or more stringsDescriptionechostring arg1string argn...
Outputs all parameters.
echo is not actually a function (it
is a language construct) so you are not required to use
parantheses with it.
echo example
echo "Hello World";
See also:
printprintfflushexplodesplit a string by stringDescriptionarray explodestring separatorstring string
Returns an array of strings containing the elements separated by
separator.
explode() example
$pizza = "piece1 piece2 piece3 piece4 piece5 piece6";
$pieces = explode(" ", $pizza);
See also split and
implode.
flushflush the output bufferDescriptionvoid flush
Flushes the output buffers of PHP and whatever backend PHP is
using (CGI, a web server, etc.) This effectively tries to push
all the output so far to the user's browser.
get_meta_tagsExtracts all meta tag content attributes from a file
and returns an arrayDescriptionarray get_meta_tagsstring filenameint
use_include_path
Opens filename and parses it line by line
for <meta> tags of the form
Meta Tags Example
<meta name="author" content="name">
<meta name="tags" content="php3 documentation">
</head> <!-- parsing stops here -->
(pay attention to line endings - PHP3 uses a native function to parse
the input, so a Mac file won't work on Unix).
The value of the name property becomes the key, the value of the
content property becomes the value of the returned array, so you
can easily use standard array functions to traverse it or access
single values. Special characters in the value of the name
property are substituted with '_', the rest is converted to lower
case.
Setting use_include_path to 1 will result
in PHP3 trying to open the file along the standard include path.
htmlspecialcharsConvert special characters to HTML entities.Descriptionstring htmlspecialcharsstring string
Certain characters have special significance in HTML, and should
be represented by HTML entities if they are to preserve their
meanings. This function returns a string with these conversions
made.
This function is useful in preventing user-supplied text from
containing HTML markup, such as in a message board or
guest book application.
At present, the translations that are done are:
'&' (ampersand) becomes '&'
'"' (double quote) becomes '"'
'<' (less than) becomes '<'
'>' (greater than) becomes '>'
Note that this functions does not translate anything beyond what
is listed above. For full entity translation, see htmlentities.
See also htmlentities and nl2br.
htmlentitiesConvert all applicable characters to HTML entities.Descriptionstring htmlentitiesstring string
This function is identical to htmlspecialchars in
all ways, except that all characters which have HTML entity
equivalents are translated into these entities.
At present, the ISO-8859-1 character set is used.
See also htmlspecialchars and
nl2br.
implodejoin array elements with a stringDescriptionstring implodearray piecesstring glue
Returns a string containing a string representation of all the
array elements in the same order, with the glue string between
each element.
implode() example
$colon_separated = implode($array, ":");
See also explode, join,
and split.
joinjoin array elements with a stringDescriptionstring joinarray piecesstring gluejoin is an alias to
implode, and is identical in every way.
ltrimStrip whitespace from the beginning of a string.Descriptionstring ltrimstring str
This function strips whitespace from the start of a string and returns the stripped string.
See also chop and trim.
md5calculate the md5 hash of a stringDescriptionstring md5string str
Calculates the MD5 hash of str using the
RSA Data
Security, Inc. MD5 Message-Digest Algorithm.
nl2brConverts newlines to HTML line breaks.Descriptionstring nl2brstring string
Returns string with '<BR>' inserted
before all newlines.
See also htmlspecialchars and
htmlentities.
Ordreturn ASCII value of characterDescriptionint ordstring string
Returns the ASCII value of the first character of
string. This function complements
chr.
ord() example
if (ord($str) == 10) {
echo("The first character of \$str is a line feed.\n");
}
See also chr.
parse_strparses the string into variablesDescriptionvoid parse_strstring str
Parses str as if it were the query string
passed via an URL and sets variables in the current scope.
Using parse_str
$str = "first=value&second[]=this+works&second[]=another";
parse_str($str);
echo $first; /* prints "value" */
echo $second[0]; /* prints "this works" */
echo $second[1]; /* prints "another" */
printoutput a stringDescriptionprintstring arg
Outputs arg.
See also:
echoprintfflushprintfoutput a formatted stringDescriptionint printfstring formatmixed args...
Produces output according to format, which
is described in the documentation for sprintf.
See also:
print,
sprintf, and
flush.
quoted_printable_decodeConvert a quoted-printable string to an 8 bit string
Descriptionstring quoted_printable_decodestring str
This function returns an 8-bit binary string corresponding to the decoded
quoted printable string. This function is similar to imap_qprint,
except this one does not require the IMAP module to work.
QuoteMetaquote meta charactersDescriptionint quotemetastring str
Returns a version of str with a backslash character
(\) before every character that is among
these: . \\ + * ? [ ^ ] ( $ )
See also addslashes,
htmlentities,
htmlspecialchars,
nl2br, and
stripslashes.
rawurldecodedecode URL-encoded stringsDescriptionstring rawurldecodestring str
Returns a string in which the sequences with percent
(%) signs followed by two hex digits have been
replaced with literal characters. For example, the string
foo%20bar%40baz decodes into
foo bar@baz
See also rawurlencode.
rawurlencodeURL-encode according to RFC1738Descriptionstring rawurlencodestring str
Returns a string in which all non-alphanumeric characters except
-_. have been replaced with a percent
(%) sign followed by two hex digits. This is
the encoding described in RFC1738 for protecting literal
characters from being interpreted as special URL delimiters, and
for protecting URL's from being mangled by transmission media
with character conversions (like some email systems). For
example, if you want to include a password in an ftp url:
rawurlencode() example 1
echo '<A HREF="ftp://user:', rawurlencode ('foo @+%/'),
'@ftp.my.com/x.txt">';
Or, if you pass information in a path info component of the url:
rawurlencode() example 2
echo '<A HREF="http://x.com/department_list_script/',
rawurlencode ('sales and marketing/Miami'), '">';
See also rawurldecode.
setlocaleset locale informationDescriptionstring setlocalestring categorystring localecategory is a string specifying the
category of the functions affected by the locale setting:
LC_ALL for all of the below
LC_COLLATE for string comparison - not currently implemented in PHP
LC_CTYPE for character classification and conversion, for
example strtoupper
LC_MONETARY for localeconv() - not currently implemented in PHP
LC_NUMERIC for decimal separator
LC_TIME for date and time formatting with strftime
If locale is the empty string
"", the locale names will be set from the
values of environment variables with the same names as the above
categories, or from "LANG".
If locale is zero or "0", the locale setting
is not affected, only the current setting is returned.
Setlocale returns the new current locale, or false if the locale
functionality is not implemented in the plattform, the specified
locale does not exist or the category name is invalid.
An invalid category name also causes a warning message.
similar_textcalculate the similarity between two stringsDescriptionint similar_textstring firststring seconddouble percent
This calculates the similarity between two strings as
described in Oliver [1993]. Note that this implementation does
not use a stack as in Oliver's pseudo code, but recursive calls
which may or may not speed up the whole process. Note also
that the complexity of this algorithm is O(N**3) where N
is the length of the longest string.
By passing a reference as third argument, similar_text
will calculate the similarity in percent for you. It returns
the number of matching chars in both strings.
soundexcalculate the soundex key of a stringDescriptionstring soundexstring str
Calculates the soundex key of str.
Soundex keys have the property that words pronounced similarly produce the
same soundex key, and can thus be used to simplify searches in databases
where you know the pronunciation but not the spelling. This soundex function
returns a string 4 characters long, starting with a letter.
This particular soundex function is one described by Donald Knuth in "The Art Of Computer Programming,
vol. 3: Sorting And Searching", Addison-Wesley (1973), pp. 391-392.
Soundex Examples
soundex("Euler") == soundex("Ellery") == 'E460';
soundex("Gauss") == soundex("Ghosh") == 'G200';
soundex("Knuth") == soundex("Kant") == 'H416';
soundex("Lloyd") == soundex("Ladd") == 'L300';
soundex("Lukasiewicz") == soundex("Lissajous") == 'L222';
sprintfreturn a formatted stringDescriptionsprintfstring formatmixed args...
Returns a string produced according to the formatting string
format.
The format string is composed by zero or more directives:
ordinary characters (excluding %) that are
copied directly to the result, and conversion
specifications, each of which results in fetching its
own parameter. This applies to both sprintf
and printf
Each conversion specification consists of these elements, in
order:
An optional padding specifier that says
what character will be used for padding the results to the
right string size. This may be a space character or a
0 (zero character). The default is to pad
with spaces. An alternate padding character can be specified
by prefixing it with a single quote (').
See the examples below.
An optional alignment specifier that says
if the result should be left-justified or right-justified.
The default is right-justified; a -
character here will make it left-justified.
An optional number, a width specifier
that says how many characters (minimum) this conversion should
result in.
An optional precision specifier that says
how many decimal digits should be displayed for floating-point
numbers. This option has no effect for other types than
double. (Another function useful for formatting numbers is
number_format.)
A type specifier that says what type the
argument data should be treated as. Possible types:
% - a literal percent character. No
argument is required.
b - the argument is treated as an
integer, and presented as a binary number.
c - the argument is treated as an
integer, and presented as the character with that ASCII
value.
d - the argument is treated as an
integer, and presented as a decimal number.
f - the argument is treated as a double,
and presented as a floating-point number.
o - the argument is treated as an
integer, and presented as an octal number.
s - the argument is treated as and
presented as a string.
x - the argument is treated as an
integer and presented as a hexadecimal number (with
lowercase letters).
X - the argument is treated as an
integer and presented as a hexadecimal number (with
uppercase letters).
See also:
printf, number_formatExamplessprintf: zero-padded integers
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
sprintf: formatting currency
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf ("%01.2f", $money);
// echo $formatted will output "123.10"
strchrFind the first occurrence of a character.Descriptionstring strchrstring haystackstring needle
This function is an alias for strstr, and is
identical in every way.
strcmpbinary safe string comparisonDescriptionint strcmpstring str1string str2
Returns < 0 if str1 is less than
str2; > 0 if str1
is greater than str2, and 0 if they are
equal.
Note that this comparison is case sensitive.
See also ereg, substr,
and strstr.
strcspnfind length of initial segment not matching maskDescriptionint strcspnstring str1string str2
Returns the length of the initial segment of str1 which does
not contain any of the characters in str2.
See also strspn.
strip_tagsStrip HTML and PHP tags from a stringDescriptionstring strip_tagsstring str
This function tries to strip all HTML and PHP tags from the given
string. It errors on the side of caution in case of incomplete
or bogus tags. It uses the same tag stripping state machine as
the fgetss function.
StripSlashesun-quote string quoted with addslashesDescriptionstring stripslashesstring str
Returns a string with backslashes stripped off.
(\' becomes ' and so on.)
Double backslashes are made into a single backslash.
See also addslashes.
strlenget string lengthDescriptionint strlenstring str
Returns the length of string.
strrposFind position of last occurrence of a char in a string.Descriptionint strrposstring haystackchar needle
Returns the numeric position of the last occurrence of needle
in the haystack string. Note that the needle in this case can
only be a single character. If a string is passed as the needle, then only the first
character of that string will be used.
If needle is not found, returns false.
If needle is not a string, it is converted to
an integer and applied as the ordinal value of a character.
See also strpos, strrchr,
substr, and strstr.
strposFind position of first occurrence of a string.Descriptionint strposstring haystackstring needleint offset
Returns the numeric position of the first occurrence of needle
in the haystack string. Unlike the strrpos,
this function can take a full string as the needle parameter and
the entire string will be used.
If needle is not found, returns false.
If needle is not a string, it is converted to
an integer and applied as the ordinal value of a character.
The optional offset parameter allows you to
specify which character in haystack to start
searching. The position returned is still relative to the the beginning
of haystack.
See also strrpos, strrchr,
substr, and strstr.
strrchrFind the last occurrence of a character in a string.Descriptionstring strrchrstring haystackstring needle
This function returns the portion of
haystack which starts at the last occurrence of
needle and goes until the end of
haystack.
Returns false if needle is not found.
If needle contains more than one character,
the first is used.
If needle is not a string, it is converted to
an integer and applied as the ordinal value of a character.
strrchr() example
// get last directory in $PATH
$dir = substr( strrchr( $PATH, ":" ), 1 );
// get everything after last newline
$text = "Line 1\nLine 2\nLine 3";
$last = substr( strrchr( $text, 10 ), 1 );
See also substr and strstr.
strrevReverse a string.Descriptionstring strrevstring string
Returns string, reversed.
strspnfind length of initial segment matching maskDescriptionint strspnstring str1string str2
Returns the length of the initial segment of
str1 which consists entirely of
characters in str2.
See also strcspn.
strstrFind first occurrence of a string.Descriptionstring strstrstring haystackstring needle
Returns all of haystack from the first
occurrence of needle to the end.
If needle is not found, returns false.
If needle is not a string, it is converted to
an integer and applied as the ordinal value of a character.
See also strrchr,
substr, and ereg.
strtoktokenize stringDescriptionstring strtokstring arg1string arg2strtok is used to tokenize a string. That is, if you have a
string like "This is an example string" you could tokenize this
string into its individual words by using the space character as
the token.
strtok() example
$string = "This is an example string";
$tok = strtok($string," ");
while($tok) {
echo "Word=$tok<br>";
$tok = strtok(" ");
}
Note that only the first call to strtok uses the string argument.
Every subsequent call to strtok only needs the token to use, as
it keeps track of where it is in the current string. To start
over, or to tokenize a new string you simply call strtok with the
string argument again to initialize it. Note that you may put
multiple tokens in the token parameter. The string will be
tokenized when any one of the characters in the argument are
found.
Also be careful that your tokens may be equal to "0". This
evaluates to false in conditional expressions.
See also split and
explode.
strtolowerMake a string lowercase.Descriptionstring strtolowerstring str
Returns string with all alphabetic
characters converted to lowercase.
Note that 'alphabetic' is determined by the current locale. This
means that in i.e. the default "C" locale, characters such as
umlaut-A (Ä) will not be converted.
See also strtoupper
and ucfirst.
strtoupperMake a string uppercase.Descriptionstring strtoupperstring string
Returns string with all alphabetic
characters converted to uppercase.
Note that 'alphabetic' is determined by the current locale. For
instance, in the default "C" locale characters such as umlaut-a
(ä) will not be converted.
See also strtolower
and ucfirst.
str_replaceReplace all occurrences of needle in haystack with strDescriptionstring str_replacestring needlestring strstring haystack
This function replaces all occurences of needle
in haystack with the given
str. If you don't need fancy replacing
rules, you should always use this function instead of
ereg_replace.
str_replace() example
$bodytag = str_replace("%body%", "black", "<body text=%body%>");
This function is binary safe.
See also ereg_replace.
strtrTranslate certain characters.Descriptionstring strtrstring strstring fromstring to
This function operates on str, translating
all occurrences of each character in from
to the corresponding character in to and
returning the result.
If from and to are
different lengths, the extra characters in the longer of the two
are ignored.
strtr() example
$addr = strtr($addr, "äåö", "aao");
See also ereg_replace.
substrReturn part of a string.Descriptionstring substrstring stringint startint length
Substr returns the portion of string
specified by the start and
length parameters.
If start is positive, the returned string
will start at the start'th character of
string. Examples:
$rest = substr("abcdef", 1); // returns "bcdef"
$rest = substr("abcdef", 1, 3); // returns "bcd"
If start is negative, the returned string
will start at the start'th character
from the end of string. Examples:
$rest = substr("abcdef", -1); // returns "f"
$rest = substr("abcdef", -2); // returns "ef"
$rest = substr("abcdef", -3, 1); // returns "d"
If length is given and is positive,
the string returned will end length
characters from start. If this would
result in a string with negative length (because the start
is past the end of the string), then the returned string
will contain the single character at start.
If length is given and is negative,
the string returned will end length
characters from the end of string. If this would
result in a string with negative length, then the returned string
will contain the single character at start.
Examples:
$rest = substr("abcdef", 1, -1); // returns "bcde"
See also strrchr and
ereg.
trimStrip whitespace from the beginning and end of a string.Descriptionstring trimstring str
This function strips whitespace from the start and the end of a string and returns the stripped string.
See also chop and ltrim.
ucfirstMake a string's first character uppercaseDescriptionstring ucfirststring str
Capitalizes the first character of str if
that character is alphabetic.
Note that 'alphabetic' is determined by the current locale. For
instance, in the default "C" locale characters such as umlaut-a
(ä) will not be converted.
See also strtoupper and
strtolower.
ucwordsUppercase the first character of each word in a stringDescriptionstring ucwordsstring str
Capitalizes the first character of each word in str if
that character is alphabetic.
See also strtoupper,
strtolower and ucfirst.