好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

preg_函数php php preg_grep

很多站长朋友们都不太清楚preg_函数php,今天小编就来给大家整理preg_函数php,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php 正则函数 preg_replace 2、 php中的preg_match()函数 3、 如何运用PHP函数preg 4、 php中preg_split()函数的PREG_SPLIT_NO_EMPTY到底有什么作用啊? 5、 PHP函数preg_match_all正则表达式的基本使用详细解析 6、 PHP正则相关的几个preg函数 php 正则函数 preg_replace

因为数组里面你先写了#ab#,后写的#abc#,实际工作时系统先使用第一组参数替换,然后使用第二组参数替换。

如果你希望得到22结果,应该交换数组里面两个的顺序。

php中的preg_match()函数

preg_match('/\\.(gif|jpeg|png|bmp|doc|)$/i', $filename)匹配正则表达式正则表达式的意思是点开头,然后那些扩展名结尾/i意思是不区分大小写,那两个函数的 用法不同返回值不同 第二个是全局匹配 既搜索所有匹配内容并以数组的模式返回,,,,下面那个错误问题,,那就是楼主没有区分单引号和双引号之间的区别,双引号之间的变量,会被替换成变量的值,而单引号之间的变量会直接当成字符串处理,

如何运用PHP函数preg

对于初学者来说,大家对 说明 array preg_split ( string $pattern, string $subject [, int $limit [, int $flags]] )

返回一个数组,包含 subject 中沿着与 pattern 匹配的边界所分割的子串。

如果指定了 limit,则最多返回 limit 个子串,如果 limit 是 -1,则意味着没有限制,可以用来继续指定可选参数 flags。

flags 可以是下列标记的任意组合(用按位或运算符 | 组合):

PREG_SPLIT_NO_EMPTY

如果设定了本标记,则 preg_split() 只返回非空的成分。

PREG_SPLIT_DELIM_CAPTURE

如果设定了本标记,定界符模式中的括号表达式也会被捕获并返回。本标记添加于 PHP 4.0.5。

PREG_SPLIT_OFFSET_CAPTURE

如果设定了本标记,如果设定本标记,对每个出现的匹配结果也同时返回其附属的字符串偏移量。注意这改变了返回的数组的值,使其中的每个单元也是一个数组,其中第一项为匹配字符串,第二项为其在 subject 中的偏移量。本标记自 PHP 4.3.0 起可用。

提示

如果不需要正则表达式的功能,可以选择使用更快(也更简单)的替代函数如 explode() 或 str_split()。

例 1672. PHP函数preg_split例子:取得搜索字符串的成分

// split the phrase by any number of commas or space characters,

// which include " ", r, t, n and f

$keywords = preg_split ("/[s,]+/", "hypertext language, programming");

?>

例 1673.PHP函数preg_split 将字符串分割成字符

$str = 'string';

$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?>

例 1674. PHP函数preg_split将字符串分割为匹配项及其偏移量

$str = 'string';

$chars = preg_split('//', $str, -1, PREG_SPLIT_NO_EMPTY);

print_r($chars);

?>

PHP函数preg_split例子将输出:

Array( [0] =>

Array ( [0] => hypertext [1] => 0 ) [1] =>

Array ( [0] => language [1] => 10 ) [2] =>

Array ( [0] => programming [1] => 19 ))

php中preg_split()函数的PREG_SPLIT_NO_EMPTY到底有什么作用啊?

意思中,假如分割后的数组中有空的项目,则删除掉,只留下非空的项目。

你这个没有分割后没有空的项目,所以没啥区别。

建议加上去;

假如分割后

$keywords[0]='saf'

$keywords[1]='abfg'

$keywords[2]=''

$keywords[3]='xxv'

那么如果不加这个,将会有空的,应该不是你想要的效果

PHP函数preg_match_all正则表达式的基本使用详细解析

了解正则表达式之前,须要掌握一些常用的正则表达式的基础知识,这些如果能记得最好记得,记不住须要用的时候能查到就行,就多个特殊字符,所以说正则表达式玩的就是特殊,具体大家可以查看更加细致的说明。

preg_match_all函数具体说明大家可以查看PHP手册,本文运用

preg_match_all用于测试正则表达的效果。

实例代码:

复制代码

代码如下:

$html

=

'<div

id="biuuu">jb51.net</div><div

id="biuuu_2">jb51.net2</div><div

id="biuuu_3">jb51.net3</div>';

实例要求:分别将每一个DIV元素的ID和内容取出,如biuuu,biuuu_2,biuuu_3,jb51.net,jb51.net2和jb51.net3(一些常用的抓站要领就是这样匹配的)

分析:字符串是一个基本的HTML元素,每一个DIV元素对应该一个ID和内容,并且是独立的,首先考虑如何

取出一个DIV内的ID值和内容,如:jb51.net,然后匹配其它类似的元素。一个DIV中须要取出两个值,也就是两个匹配的表达式,第一个表达式用于匹配ID值(biuuu),第二个表达式用于匹配ID的内容(jb51.net),正则表达式常用的表达式运用小括号,那么前面的元素将会变成如下形式:

<div

id="(biuuu)">(jb51.net)</div>

<div

id="(表达式1)">(表达式2)</div>

好,运用如上小括号把须要匹配的区域执行

了划分,接下来就是如何

匹配各个表达式内的内容,我们猜想一个ID可能是字母,数字或下划线,那这就变得基本了,运用中括号就可以实现,如下:

表达式1:[a-zA-Z0-9_]+

(表示匹配大小写字母,数字和下划线)

那如何

匹配表达式2,因为ID的内容可以是任意的字符,但是要留心,不能匹配<或>字符,因为如果匹配这两个字符将会把后面运用的DIV都匹配出来,因此须要排除这两个字符开始的元素,也就是不匹配以<或>字符,如下:

表达式2:[^<>]+

(表示不匹配<和>字符)

这样,须要匹配的子表达式就实现了,但是还要须要匹配一个

的表达式,要领如下:

表达式:/

'\"(表达式1)\"'>(表达式2)<\/div>/

留心其中的双引号"和/须要运用

\转义字符转义,然后把前面两个表达式放进去,

如下:

'\"([a-z0-9_]+)\"'>/<div

id=\"([a-z0-9_]+)\">([^<>]+)<\/div>/

这样就实现一个匹配每一个DIV元素ID值和内容的正则表达式,然后运用

preg_match_all函数测试如下:

复制代码

代码如下:

$html

=

'<div

id="biuuu">jb51.net</div><div

id="biuuu_2">jb51.net2</div><div

id="biuuu_3">jb51.net3</div>';

preg_match_all('/<div\sid=\"([a-z0-9_]+)\">([^<>]+)<\/div>/',$html,$result);

var_dump($result);

结果:

复制代码

代码如下:

array(3)

{

[0]=>

array(3)

{

[0]=>

string(30)

"<div

id="biuuu">jb51.net</div>"

[1]=>

string(33)

"<div

id="biuuu_2">jb51.net2</div>"

[2]=>

string(33)

"<div

id="biuuu_3">jb51.net3</div>"

}

[1]=>

array(3)

{

[0]=>

string(5)

"biuuu"

[1]=>

string(7)

"biuuu_2"

[2]=>

string(7)

"biuuu_3"

}

[2]=>

array(3)

{

[0]=>

string(8)

"jb51.net"

[1]=>

string(9)

"jb51.net2"

[2]=>

string(9)

"jb51.net3"

}

}

共有三个表达式,分别显示每一个表达式匹配的值,并以数组的形式存储,这样就把每一个DIV元素的ID和内容取出。运用正则表达式最主要还是要知道须要什么,然后跟椐须要执行

匹配,并且思路清晰,并适当的借助preg_match_all函数执行

输出调试,非常方便。

PHP正则相关的几个preg函数

1、如果你用过smarty模板引擎、MVC类似框架如tp,那么你自己写一个框架噢!

2、你要对php的继承实现以及其中的小知识点熟知;

3、先列出你的框架目录,什么地方放什么,然后写你的配置文件

4、用到的高频函数有:require 、 require_once 、 file_exites等!

希望回答对你有帮助,如果有疑问,请继续“追问.

答题不易,互相理解,您的采纳是我前进的动力,感谢您.

关于preg_函数php的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于preg_函数php php preg_grep的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did242707
更新时间:2023-05-28   阅读:29次

上一篇: php解出域名授权 php域名授权破解方法

下一篇:PHP编程电脑增高 php对电脑有要求吗

最新资料更新

  • 1.php网站依赖 php运行网址
  • 2.php图片打不开 php打不开文件
  • 3.phpzend加密过期 php加密解密
  • 4.php_syntax的简单介绍
  • 5.php系统源代码下载 php源码免费下载
  • 6.php登录保护机制 php保持登录状态
  • 7.php河内塔问题 河内塔算法
  • 8.php上传源码教程 php上传下载源码
  • 9.php推荐接口排重 接口 php
  • 10.php项目任务分配 php任务调度框架
  • 11.bashphp的简单介绍
  • 12.php交叉报表 ureport 交叉报表
  • 13.node会取代php nodejs会被deno取代吗
  • 14.php正则获取图片 php使用正则表达式
  • 15.phpcrc-itu的简单介绍
  • 16.phpjson提交 phppost提交
  • 17.linux中下载php linux安装php56
  • 18.php类方法 php类方法访问变量
  • 19.phpisset多个值 php __set __get
  • 20.phpurl链接解析 php解析url

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]