① preg_match用法
preg_match 是 php 中用于正则表达式匹配的函数。它在 subject 字符串中搜索与 pattern 给出的正则表达式相匹配的内容。如果提供了 matches,则其会被搜索的结果所填充。$matches[0] 将包含与整个模式匹配的文本,$matches[1] 将包含与第一个捕获的括号中的子模式所匹配的文本,以此类推。
flags 参数可以包含以下标记:PREG_OFFSET_CAPTURE,如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其偏移量。本标记自 PHP 4.3.0 起可用。
如果出错,preg_match() 返回 FALSE。preg_match() 返回 pattern 所匹配的次数。要么是 0 次(没有匹配)或 1 次,因为 preg_match() 在第一次匹配之后将停止搜索。而 preg_match_all() 则会一直搜索到 subject 的结尾处。
例如,要在文本中搜索“php”,可以使用以下代码:
<?php
// 模式定界符后面的 "i" 表示不区分大小写字母的搜索
if (preg_match ("/php/i", "PHP is the web scripting language of choice.")) {
print "A match was found.";}
else {print "A match was not found.";}
?>
如果只想查看一个字符串是否包含在另一个字符串中,不要用 preg_match()。可以用 strpos() 或 strstr() 替代,因为它们更快。
另一个例子,要搜索单词“web”,可以使用以下代码:
<?php
/* 模式中的 \b 表示单词的边界,因此只有独立的 "web" 单词会被匹配,
* 而不会匹配例如 "webbing" 或 "cobweb" 中的一部分 */
if (preg_match ("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
print "A match was found.";}
else {print "A match was not found.";}
if (preg_match ("/\bweb\b/i", "PHP is the website scripting language of choice.")) {
print "A match was found.";}
else {print "A match was not found.";}
?>
另一个例子,从 URL 中取出域名,可以使用以下代码:
<?php
// 从 URL 中取得主机名
preg_match("/^(http:\/\/)?([^\/]+)/i", "http://www.php.net/index.html", $matches);
$host = $matches[2]; // 从主机名中取得后面两段
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches);
echo "domain name is: {$matches[0]}\n";
?>
② PHP str_replace语法
在PHP编程中,str_replace 是一个非常实用的字符串处理函数,它用于在给定的字符串中查找并替换特定的值。这个函数有四个参数:
例如,如果你有一个字符串 "Hello, world!",你想将所有的 "world" 替换为 "PHP", 你可以这样做:
如果希望获取替换次数,可以这样使用 count 参数:
通过灵活使用 str_replace 函数,你可以轻松地实现字符串的替换操作,对你的PHP代码大有裨益。
PHP str_replace() 函数使用一个字符串替换字符串中的另一些字符。
③ php中的preg_match()函数
preg_match()函数用于正则表达式知识匹配,如果成功则返回1,否则返回0。
Preg_match()在成功匹配之后停止匹配,如果要实现所有结果的内部匹配,则使用preg_match_all()函数。
php函数取得字符串长度:
1.首先,创建一个新的PHP文件并将其命名为test.php。