·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> php网站开发 >> PHP学习系列(1)——字符串处理函数(4)

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

作者:佚名      php网站开发编辑:admin      更新时间:2022-07-23
php学习系列(1)——字符串处理函数(4)

16、hebrevc() 函数把希伯来文本从右至左的流转换为左至右的流。它也会把新行 (\n) 转换为 <br />。只有 224 至 251 之间的 ASCII 字符,以及标点符号受到影响。

语法:hebrev(string,maxcharline) maxcharline规定每行的最大字符数。如果可能,hebrev() 将避免把单词断开。 提示:hebrev() 和 hebrevc() 可以把希伯来逻辑文本转换为希伯来可见文本。希伯来可见文本不需要特殊的右至左字符支持,这使它对于在 web 上显示希伯来文本很有用处。

17、htmlspecialchars() 函数把一些预定义的字符转换为 HTML 实体。

预定义的字符是:

  • & (和号) 成为 &amp;
  • " (双引号) 成为 &quot;
  • ' (单引号) 成为 &#039;
  • < (小于) 成为 &lt;
  • > (大于) 成为 &gt;
语法: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 代替。 例子
<html><body><?php$str = "John & 'Adams'";echo htmlspecialchars($str, ENT_COMPAT);echo "<br />";echo htmlspecialchars($str, ENT_QUOTES);echo "<br />";echo htmlspecialchars($str, ENT_NOQUOTES);?></body></html>

浏览器输出:

John & 'Adams'John & 'Adams'John & 'Adams'

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

<html><body>John &amp; 'Adams'<br />John &amp; &#039;Adams&#039;<br />John &amp; '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:

  1. sitten (k→s)
  2. sittin (e→i)
  3. sitting (→g)

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 "<br />";echo levenshtein("Hello World","ello World",10,20,30);?>

输出:

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
<?php$filename = "test.txt";$md5file = md5_file($filename);echo $md5file;?>

输出:

5d41402abc4b2a76b9719d911017c592
26、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);?>

输出:

SNSN
27、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 s