php学习系列(1)——字符串处理函数(4),php函数16、hebrevc() 函数把希伯来文本从右至左的流转换为左至右的流。它也会把新行 (\n) 转换为
。只有 224 至 251 之间的 ascii 字符,以及标点符号受到影响。
语法:hebrev(string,maxcharline)
maxcharline规定每行的最大字符数。如果可能,hebrev() 将避免把单词断开。 提示:hebrev() 和 hebrevc() 可以把希伯来逻辑文本转换为希伯来可见文本。希伯来可见文本不需要特殊的右至左字符支持,这使它对于在 web 上显示希伯来文本很有用处。 17、htmlspecialchars() 函数把一些预定义的字符转换为 html 实体。
预定义的字符是:
& (和号) 成为 & (双引号) 成为 ' (单引号) 成为 ' 语法:htmlspecialchars(string,quotestyle,character-set) quotestyle——可选。规定如何编码单引号和双引号。
ent_compat - 默认。仅编码双引号。 ent_quotes - 编码双引号和单引号。 ent_noquotes - 不编码任何引号。 character-set——可选。字符串值,规定要使用的字符集。
iso-8859-1 - 默认。西欧。 iso-8859-15 - 西欧(增加 euro 符号以及法语、芬兰语字母)。 utf-8 - ascii 兼容多字节 8 比特 unicode cp866 - dos 专用 cyrillic 字符集 cp1251 - windows 专用 cyrillic 字符集 cp1252 - windows 专用西欧字符集 koi8-r - 俄语 gb2312 - 简体中文,国家标准字符集 big5 - 繁体中文 big5-hkscs - big5 香港扩展 shift_jis - 日语 euc-jp - 日语 提示:无法被识别的字符集将被忽略,并由 iso-8859-1 代替。 例子
浏览器输出:
john & 'adams'john & 'adams'john & 'adams'
如果在浏览器中查看源代码,会看到这些 html:
john & 'adams'
john & 'adams'
john & 'adams'
18、htmlspecialchars_decode() 函数把一些预定义的 html 实体转换为字符,是htmlspecialchars() 的反函数。
语法:htmlspecialchars_decode(string,quotestyle)
quotestyle的具体含义同htmlspecialchars()。
19、implode() 函数把数组元素组合为一个字符串。
语法:implode(separator,array)
separator——可选。规定数组元素之间放置的内容。默认是 (空字符串)。array——必需。要结合为字符串的数组。
说明:虽然 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。注释:implode() 可以接收两种参数顺序。但是由于历史原因,explode() 是不行的。你必须保证 separator 参数在 string 参数之前才行。例子
输出:
hello world! beautiful day!
20、join() 函数把数组元素组合为一个字符串。join() 函数是 implode() 函数的别名。
21、levenshtein() 函数返回两个字符串之间的 levenshtein 距离。
levenshtein 距离,又称编辑距离,指的是两个字符串之间,由一个转换成另一个所需的最少编辑操作次数。许可的编辑操作包括将一个字符替换成另一个字符,插入一个字符,删除一个字符。
例如把 kitten 转换为 sitting:
levenshtein() 函数给每个操作(替换、插入和删除)相同的权重。不过,您可以通过设置可选的 insert、replace、delete 参数,来定义每个操作的代价。
语法:levenshtein(string1,string2,insert,replace,delete)参数描述
string1 必需。要对比的第一个字符串。
string2 必需。要对比的第二个字符串。
insert 可选。插入一个字符的代价。默认是 1。
replace 可选。替换一个字符的代价。默认是 1。
delete 可选。删除一个字符的代价。默认是 1。
注意:
如果其中一个字符串超过 255 个字符,levenshtein() 函数返回 -1。levenshtein() 函数对大小写不敏感。levenshtein() 函数比 similar_text() 函数更快。不过,similar_text() 函数提供需要更少修改的更精确的结果。
例子
输出:130
22、localeconv() 函数返回包含本地数字及货币信息格式的数组。
23、ltrim() 函数从字符串左侧删除空格或其他预定义字符。功能类似于chop()或者rtrim();
24、md5() 函数计算字符串的 md5 散列。md5() 函数使用 rsa 数据安全,包括 md5 报文摘译算法。如果成功,则返回所计算的 md5 散列,如果失败,则返回 false。
语法:md5(string,raw)raw——可选。规定十六进制或二进制输出格式:true - 原始 16 字符二进制格式 false - 默认。32 字符十六进制数注释:该参数是 php 5.0 中添加的。25、md5_file() 函数计算文件的 md5 散列。md5() 函数使用 rsa 数据安全,包括 md5 报文摘译算法。如果成功,则返回所计算的 md5 散列,如果失败,则返回 false。
例子 1
输出:5d41402abc4b2a76b9719d911017c592
26、metaphone() 函数计算字符串的 metaphone 键。metaphone 键字符串的英语发音。metaphone() 函数可用于拼写检查应用程序。
如果成功,则返回字符串的 metaphone 键,如果失败,则返回 false。
语法:metaphone(string,length)length——可选。规定 metaphone 键的最大长度。说明:metaphone() 为发音相似的单词创建相同的键。所生成的 metaphone 键长度可变。metaphone() 比 soundex() 函数更精确,因为 metaphone() 了解基本的英语发音规则。例子:例子 1
输出:wrlt
例子 2在本例中,我们对两个发音相似的单词应用 metaphone() 函数:
输出:snsn
27、money_format() 函数把字符串格式化为货币字符串。
语法:money_format(string,number)
number——可选。被插入格式化字符串中 % 符号位置的数字。注释:money_format() 函数无法在 windows 平台上工作。例子:例子 1国际 en_us 格式:
输出:the price is usd 1,234.56
例子 2负数,带有 () 指示负数的 us 国际格式,右侧精度为 2,* 为填充字符:
输出:($********1,234.57)
28、nl_langinfo() 函数返回指定的本地信息。
如果成功,则返回指定的本地信息。如果失败,则返回 false。语法:nl_langinfo(element)element——必需。规定要返回哪个元素。必须是说明中列出的元素之一。说明:时间和日历:abday_(1-7) - abbreviated name of the numbered day of the week day_(1-7) - name of the numbered day of the week (day_1 = sunday) abmon_(1-12) - abbreviated name of the numbered month of the year mon_(1-12) - name of the numbered month of the year am_str - string for ante meridian pm_str - string for post meridian d_t_fmt - string that can be used as the format string for strftime() to represent time and date d_fmt - string that can be used as the format string for strftime() to represent date t_fmt - string that can be used as the format string for strftime() to represent time t_fmt_ampm - string that can be used as the format string for strftime() to represent time in 12-hour format with ante/post meridian era - alternate era era_year - year in alternate era format era_d_t_fmt - date and time in alternate era format (string can be used in strftime()) era_d_fmt - date in alternate era format (string can be used in strftime()) era_t_fmt - time in alternate era format (string can be used in strftime())货币类别:int_curr_symbol - currency symbol (example: usd) currency_symbol - currency symbol (example: $) crncystr - same as currency_symbol mon_decimal_point - monetary decimal point character mon_thousands_sep - monetary thousands separator positive_sign - positive value character negative_sign -negative value character mon_grouping - array displaying how monetary numbers are grouped (example: 1 000 000) int_frac_digits - international fractional digits frac_digits - local fractional digits p_cs_precedes - true (1) if currency symbol is placed in front of a positive value, false (0) if it is placed behind p_sep_by_space - true (1) if there is a spaces between the currency symbol and a positive value, false (0) otherwise n_cs_precedes - true (1) if currency symbol is placed in front of a negative value, false (0) if it is placed behind n_sep_by_space - true (1) if there is a spaces between the currency symbol and a negative value, false (0) otherwise p_sign_posn - formatting setting. possible return values: 0 - parentheses surround the quantity and currency symbol 1 - the sign string is placed in front of the quantity and currency symbol 2 - the sign string is placed after the quantity and currency symbol 3 - the sign string is placed immediately in front of the currency symbol 4 - the sign string is placed immediately after the currency symboln_sign_posn - formatting setting. possible return values: 0 - parentheses surround the quantity and currency symbol 1 - the sign string is placed in front of the quantity and currency symbol 2 - the sign string is placed after the quantity and currency symbol 3 - the sign string is placed immediately in front of the currency symbol 4 - the sign string is placed immediately after the currency symbol数字类别:decimal_point - decimal point character radixchar - same as decimal_point thousands_sep - separator character for thousands thousep - same as thousands_sep grouping - array displaying how numbers are grouped (example: 1 000 000)通信类别:yesexpr - regex string for matching 'yes' input noexpr - regex string for matching 'no' input yesstr - output string for 'yes' nostr - output string for 'no'代码集类别:codeset return a string with the name of the character encoding.提示和注释注释:money_format() 函数无法在 windows 平台上工作。提示:与返回所有本地格式化信息的 localeconv() 函数不同,nl_langinfo() 返回指定的信息。29、nl2br() 函数在字符串中的每个新行 (\n) 之前插入 html 换行符 (
)。
语法:nl2br(string)
输出:one line.another line.
html 代码:one line.
another line.
30、number_format() 函数通过千位分组来格式化数字。语法:number_format(number,decimals,decimalpoint,separator)number——必需。要格式化的数字。如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符。decimals——可选。规定多少个小数。如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字。decimalpoint——可选。规定用作小数点的字符串。separator——可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 xyz 仅输出 x。注释:如果设置了该参数,那么所有其他参数都是必需的。注释:该函数支持一个、两个或四个参数(不是三个)。例子
输出:1,000,0001,000,000.001.000.000,00
php 怎处理字符串
大家通过对php的学习,可以运用这一高级语言创建一个性能较高的网站。对于初学者来说,对于php字符串mbstring还是比较陌生的,下面我们就来介绍一下php字符串mbstring的具体应用。
多国语言并存就意味着多字节,php内置的字符串长度函数strlen无法正确处理中文字符串,它得到的只是字符串所占的字节数。对于gb2312的中文编码,strlen得到的值是汉字个数的2倍,而对于utf-8编码的中文,就是1~3倍的差异了。
采用php字符串mbstring可以较好地解决这个问题。mb_strlen的用法和strlen类似,只不过它有第二个可选参数用于指定字符编码。例如得到utf-8的字符串$str长度,可以用mb_strlen($str,’utf-8′)。如果省略第二个参数,则会使用php的内部编码。内部编码可以通过mb_internal_encoding()函数得到,设置有两种方式:
1. 在php.ini中设置mbstring.internal_encoding = utf-8
2. 调用mb_internal_encoding(”gbk”)
除了php字符串mbstring,还有很多切割函数,其中mb_substr是按字来切分字符,而mb_strcut是按字节来切分字符,但是都不会产生半个字符的现象。而且从函数切割对长度的作用也不同,mb_strcut的切割条件是小于strlen, mb_substr是等于strlen,看下面的例子,
输出如下:
mb_substr:我是一串比较
mb_strcut:我是
需要注意的是,php字符串mbstring并不是php核心函数,使用前需要确保在php编译模块时加入mbstring的支持:
(1)编译时使用–enable-mbstring
(2)修改/usr/local/lib/php.inc
default_charset = “zh-cn”
mbstring.language = zh-cn
mbstring.internal_encoding =zh-cn
php字符串mbstring类库内容比较多,还包括mb_ send_ mail 之类的email处理函数等
(100分)[php]写几个你熟悉的字符串处理函数!
addcslashes addslashes bin2hex chop chr chunk_split convert_cyr_string cyrillic
convert_uudecode convert_uuencode count_chars crc32 crc32 crypt echo explode
fprintf get_html_translation_table hebrev
hebrevc
hex2bin — decodes a hexadecimally encoded binary string
html_entity_decode — convert all html entities to their applicable characters
htmlentities — convert all applicable characters to html entities
htmlspecialchars_decode — convert special html entities back to characters
htmlspecialchars — convert special characters to html entities
implode — join array elements with a string
join
lcfirst — make a string's first character lowercase
levenshtein — calculate levenshtein distance between two strings
localeconv — get numeric formatting information
ltrim — strip whitespace (or other characters) from the beginning of a string
md5_file
metaphone — calculate the metaphone key of a string
money_format — formats a number as a currency string
nl_langinfo — query language and locale information
nl2br
number_format — format a number with grouped thousands
ord
parse_str
print
printf
quoted_printable_decode — convert a quoted-printable string to an 8 bit string
quoted_printable_encode — convert a 8 bit string to a quoted-printable string
quotemeta — quote meta characters
rtrim
setlocale — set locale information
sha1_file
sha1
soundex — calculate the soundex key of a string
sprintf — return a formatted string
sscanf — parses input from a string according to a ......余下全文>>
http://www.bkjia.com/phpjc/891600.htmlwww.bkjia.comtruehttp://www.bkjia.com/phpjc/891600.htmltecharticlephp学习系列(1)字符串处理函数(4),php函数 16、hebrevc() 函数把希伯来文本从右至左的流转换为左至右的流。它也会把新行 (\n) 转换为...