mdash php,PHP学习系列(1)——字符串处理函数(4),php函数

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 代替。

例子

php

$str = "John & 'Adams'";

echo htmlspecialchars($str, ENT_COMPAT);

echo "

";

echo htmlspecialchars($str, ENT_QUOTES);

echo "

";

echo htmlspecialchars($str, ENT_NOQUOTES);?>

body>

html>

浏览器输出:John & 'Adams'

John & 'Adams'

John & 'Adams'

如果在浏览器中查看源代码,会看到这些 HTML:


John& 'Adams'
John&'Adams'body>

html>

18、htmlspecialchars_decode() 函数把一些预定义的 HTML 实体转换为字符,是htmlspecialchars() 的反函数。

语法:htmlspecialchars_decode(string,quotestyle)

quotestyle的具体含义同htmlspecialchars()。

19、implode() 函数把数组元素组合为一个字符串。

语法:implode(separator,array)

separator——可选。规定数组元素之间放置的内容。默认是 ""(空字符串)。

array——必需。要结合为字符串的数组。

说明:虽然 separator 参数是可选的。但是为了向后兼容,推荐您使用使用两个参数。

注释:implode() 可以接收两种参数顺序。但是由于历史原因,explode() 是不行的。你必须保证 separator 参数在 string 参数之前才行。

例子

php$arr = array('Hello','World!','Beautiful','Day!');echo implode(" ",$arr);?>

输出: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() 函数提供需要更少修改的更精确的结果。

例子

phpecho levenshtein("Hello World","ello World");echo "

";echo levenshtein("Hello World","ello World",10,20,30);?>

输出:1

3022、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

php$filename = "test.txt";$md5file = md5_file($filename);echo $md5file;?>

输出:5d41402abc4b2a76b9719d911017c59226、metaphone() 函数计算字符串的 metaphone 键。metaphone 键字符串的英语发音。metaphone() 函数可用于拼写检查应用程序。如果成功,则返回字符串的 metaphone 键,如果失败,则返回 false。

语法:metaphone(string,length)

length——可选。规定 metaphone 键的最大长度。

说明:metaphone() 为发音相似的单词创建相同的键。所生成的 metaphone 键长度可变。metaphone() 比 soundex() 函数更精确,因为 metaphone() 了解基本的英语发音规则。

例子:

例子 1

phpecho metaphone("world");?>

输出:WRLT

例子 2

在本例中,我们对两个发音相似的单词应用 metaphone() 函数:php$str = "Sun";$str2 = "Son";echo metaphone($str);echo metaphone($str2);?>

输出:SN

SN27、money_format() 函数把字符串格式化为货币字符串。

语法:money_format(string,number)

number——可选。被插入格式化字符串中 % 符号位置的数字。

注释:money_format() 函数无法在 windows 平台上工作。

例子:

例子 1

国际 en_US 格式:php$number = 1234.56;setlocale(LC_MONETARY, "en_US");echo money_format("The price is %i", $number);?>

输出:The price is USD 1,234.56

例子 2

负数,带有 () 指示负数的 US 国际格式,右侧精度为 2,"*" 为填充字符:php$number = -1234.5672;echo money_format("%=*(#10.2n", $number);?>

输出:($********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 symbol

N_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)

phpecho nl2br("One line.\nAnother line.");?>

输出:One line.

Another line.

HTML 代码:One line.
Another line.30、number_format() 函数通过千位分组来格式化数字。

语法:number_format(number,decimals,decimalpoint,separator)

number——必需。要格式化的数字。如果未设置其他参数,则数字会被格式化为不带小数点且以逗号 (,) 作为分隔符。

decimals——可选。规定多少个小数。如果设置了该参数,则使用点号 (.) 作为小数点来格式化数字。

decimalpoint——可选。规定用作小数点的字符串。

separator——可选。规定用作千位分隔符的字符串。仅使用该参数的第一个字符。比如 "xyz" 仅输出 "x"。注释:如果设置了该参数,那么所有其他参数都是必需的。

注释:该函数支持一个、两个或四个参数(不是三个)。

例子

php

echo number_format("1000000");

echo number_format("1000000",2);

echo number_format("1000000",2,",",".");?>

输出:1,000,000

1,000,000.00

1.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,看下面的例子,

< ? $str = ‘我是一串比较长的中文-www.jefflei.com’; echo “mb_substr:” . mb_substr($str, 0, 6, ‘utf-8′); echo ” “; echo “mb_strcut:” . mb_strcut($str, 0, 6, ‘utf-8′); ?>

输出如下:

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 ......余下全文>>

相关标签:字符串

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值