


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、PHP开发必用知识点总结,函数一览,开发必背魔术方法_construct()当实例化一个对象的时候,这个对象的这个方法首先被调用。_destruct()当删除一个对象或对象操作终止的时候,调用该方法。_get()当试图读取一个并不存在的属性的时候被调用。_set()当试图向一个并不存在的属性写入值的时候被调用。_call()当试图调用一个对象并不存在的方法时,调用该方法。_toString()当打印一个对象的时候被调用_clone()当对象被克隆时,被调用_isset()_un set()_autoload($class name)_sleep()_wakeup()系统常量_FILE_ 当前文
2、件名_LINE_当前行数_FUNCTION_ 当前函数名_CLASS_当前类名_METHOD_当前对象的方法名PHP_OS当前系统PHP_VERSION php 版本DIRECTORY_SEPARATOR 根据系统决定目录的分隔符八PATH_SEPARATOR根据系统决定环境变量的目录列表分隔符;:E_ERROR 1E_WARNING 2E_PARSE4E_NOTICE 8M_PI 3.141592$_SERVER$_ENV执行环境提交至脚本的变量$_GET$_POST$_REQUEST$_FILES$_COOKIE$_SESSION$_GLOBALS输出echo /Output one or
3、 more stri ngsprint /Output a stri ngprint_r()II打印关于变量的易于理解的信息。var_dump()/打印变量的相关信息var_export()/输出或返回一个变量的字符串表示prin tf("%.1f",$ num) /Output a formatted stri ngspri ntf() /Return a formatted stri ng编码转换stri ng mb_con vert_e ncod ing ( stri ng $str , stri ng $to_e ncodi ng , mixed $from_e n
4、codi ng ) icon v();时间date_default_timezo ne_set("PRC");date("Y-m-d H:i:s");time();date("Y-m-d H:i:s",time()+3600)ini_set('date.timezone', 'PRC');msec sec microtime() 以秒返回时间戳explode(' ', microtime()错误处理1/0error_report in g(E_ALL)显示所有错误error_report
5、 in g(0)trigger_error("Ca nnot divide by zero", E_USER_ERROR);trythrow new Exception( 执行失败");catch (Excepti on $ex)echo $ex;字符串处理stri ng trim("eee ") trim ('ffffe','e') /ltrim rtrimarray explode(".", "fff.ff.f")按指定字符切割string implode("
6、.", $array) 别名:join把数组值数据按指定字符连接起来array str_split("eeeeeeee",4)按长度切割字符串array split("-","fff-ff-f")按指定字符切割int strle n('ffffffff)取字符长度stri ng substr ( stri ng $stri ng , int $start , i nt $le ngth )substr($a,-2, 2)截取字符int substr_count($text, 'is')字符串出现的次数
7、string strstr($text, 'h')第一次出现 h后的字符串别名:strchrint strpos($text, 'h')第一次出现 h 的位置strrpos();最后一次出现h的位置str_replace('a', 'ttt', $t)把$t 里的'a替换为'ttt'strtr($t,'is','ppp')把$t 中'is'替换成'ppp'strtr("hi all, I said hello", array
8、("hello" => "hi") 把'hello'转换成'hi'string md5_file('1.txt',false)文件数据 md5 加密int strcmp(string str1, string str2) 字符串比较int strcasecmp(string str1, string str2) 忽略大小写string str_pad($i, 10, "-=", STR_PAD_LEFT)在原字符左边补'-=',直到新字符串长度为10STR_PAD_
9、RIGHTSTR_PAD_BOTHstring str_repeat('1', 5)重复 5 个 1void parse_str('id=11'); echo $id;将字串符解析为变量array preg_grep(""(d+)?.d+$/", array(11.2,11,11.2) 匹配数据array preg_split ("/s,+/", "hypertext la nguage,program min g");按指定的字符切割array pathi nfo(stri ng path
10、, i nt opti on s)返回文件路径的信息stri ng base name ( stri ng path , stri ng suffix) 返回路径中的文件名局部stri ng dirname ( stri ng path ) $_SERVERPHP_SELF 返回路径中的目录局部string nl2br("foo isn'tn bar") "foo isn't<br> bar"把换行转成 <br>stri ng chr ( int ascii )mixed str_word_co unt ( str
11、i ng stri ng , i nt format , stri ng charlist)string str_shuffle ('abc')打乱字符串顺序string strrev($str) *stri ng strtolower($str) * stri ng strtoupper($str) *stri ng ucfirst ($str) 1 stri ng ucwords($str)翻转一个字符串将字符串$str的字符全部转换为小写的将字符串$str的字符全部转换为大写的 将字符串$str的第一个单词的首字母变为大写。string addslashes("
12、I'm") I'm使用反斜线引用字符串这些字符是单引号'、双引号、将字符串$str的每个单词的首字母变为大写。反斜线丨与NUL NULL字符string stripcslashes("I'm") rm 将用addslashes()函数处理后的字符串返回原样 strip_tags("<p>tt</p>", '<p>') 去除 html、xml、php 标记,第二个参数用来保存标记 string urlencode(string str)string urldeco
13、de(string str)stri ng htmlspecialchars("<a href='test'>Test</a>", ENT_QUOTES)转换特殊字符为 HTML字符编码<a href= 'test'>Test</a>ENT_COMPAT -对双引号进展编码,不对单引号进展编码ENT_QUOTES -对单引号和双引号进展编码 ENT_NOQUOTES -不对单引号或双引号进展编码string htmlentities('
14、<p>ff</p>', ENT_QUOTES)转换特殊字符为 HTML 字符编码,中文 会转成乱码数组处理int count( mixed var , int mode) 别名:sizeof()取数组长度string implode(".", $array) 别名:join把数组值数据按指定字符连接起来array explode(".", "fff.ff.f")按指定字符切割array range(0, 6, 2)返回数组array(0,2,4,6)第一个参数为起使数,第二个参数为完毕 数,第三个参数为
15、数据增加步长int array_push($a, "3", 1)把3、1'压入$a将一个或多个单元压入数组的末尾入栈 第二个参数开始就是压入的数据void un set ( mixed var , mixed var ,.)array array_pad ($a, 5, 's')用's将数组填补到指定长度bool shuffle ( array $array )将数组打乱mixed array_ra nd ( array in put , i nt num_req)从数组中随机取出一个或多个单元的索引或键名array array_cou nt
16、_values ( array in put )统计数组中所有的值出现的次数array array_combine ( array keys, array values ) 创立一个数组,用一个数组的值作为其键名,另一个数组的值作为其值bool array_key_exists ( mixed key, array search )检查给定的键名或索引是否存在于数组 中-mixed array_search ( mixed needle, array haystack , bool strict) 在数组中搜索给定的值, 如果成功那么返回相应的键名bool is_array ( mixed v
17、ar )bool in_array ( mixed needle, array haystack , bool strict)检查数组中是否存在某个值nu mber array_sum ( array array )计算数组中所有值的禾口 array array_unique ( array array )移除数组中重复的值 mixed reset ( array &array )将数组的部指针指向第一个单元 mixed curre nt ( array &array ) mixed n ext ( array &array ) mixed prev ( array &
18、amp;array ) mixed end ( array &array ) mixed key ( array &array )array array_keys ( array in put , mixed search_value , bool strict)返回数组中所有的键名-array array_values ( array in put ) 返回数组中所有的值bool prin t_r ( mixed expressi on , bool retur n)void var_dump ( mixed expressi on , mixed expressi on ,
19、.)int array_ un shift ( array &array, mixed var , mixed .) 在数组开头插入一个或多个单元 mixed array_shift ( array &array )将数组开头的单元移出数组 mixed array_pop ( array &array )将数组最后一个单元弹出出栈array array_splice ( array $in put, int offset , i nt len gth , array replaceme nt)把数组中的一局部去掉并用其它值取代array array_merge ( ar
20、ray arrayl , array array2 , array .) 合并一个或多个数组array array_flip ( array trans )交换数组中的键和值int extract( array var_array , i nt extract_type , stri ng prefix)从数组中将变量导入至 U当前的符号表array compact ( mixed varname , mixed)建立一个数组,包括变量名和它们的值bool sort ( array &array , int sort_flags)从最低到最高重新安排bool natsort($a)用“
21、自然排序"算法对数组排序bool rsort ( array &array , int sort_flags)对数组进展逆向排序最高到最低bool asort ( array &array , int sort_flags)对数组进展排序并保持索引关系bool arsort ( array &array , i nt sort_flags)对数组进展逆向排序并保持索引关系bool ksort ( array &array , int sort_flags) 对数组按照键名排序bool krsort ( array &array , i nt s
22、ort_flags) 对数组按照键名逆向排序array array_filter ( array in put , callback callback)用回调函数过滤数组中的单元bool array_walk ( array &array, callback funcn ame , mixed userdata)对数组中的每个成员应用用户函数array array_ map ( callback callback, array arr1 , array )将回调函数作用到给定数组的单元上array array_fill ( int start_ in dex, int num, mix
23、ed value )用给定的值填充数组array_fill(5, 3, 'a')->array(5=>'a',6=>'a',7=>'a')array array_chu nk ( array in put, i nt size , bool preserve_keys) 将一个数组分割成多个其他isset()变量是否存在boolean empty()检查变量是否存在,并判断值是否为非空或非 0void unset()销毁变量header('C onten t-Type: text/html; cha
24、rset=utf-8');method_exists($obj, $method)判断对象的方法是否可用file_exists($file)判断文件是否存在fun ctio n_exists();class_exists($class_ name);gettype();获取数据类型set_magic_quotes_ru ntime() 0 for off, 1 for on当遇到反斜杆、单引号,将会自动加上一个反斜杆,保护系统和数据库的平安in i_set();平安function strReplace($str)$strResult = $str;if(!get_magic_quot
25、es_gpc() 判断设置是否开启$strResult = addslashes($strResult);转换 sql 语句特殊字符retur n $strResult;function quotes($c ontent)如果 magic_quotes_gpc=Off,那么就开始处理if (!get_magic_quotes_gpc()/判断$content是否为数组if (is_array($c onten t)如果$content是数组,那么就处理它的每一个单无foreach ($c ontent as $key=>$value)$conten t$key = addslashes(
26、$value);else如果$content不是数组,那么就仅处理一次 addslashes($c onten t);返回 $contentretur n $content; smarty模板引擎将不分析<!-literal-><script>function t() </script><!-/literal->读取配置文件<!-c on fig_load file="c on fig.s"-><!-#site_url#-><!-$smarty.c on fig.site_url->引入文件
27、<!- in clude file="i ndex2.html"-指定目录下的文件<!-i nclude_php file="/path/to/load_ nav.php"-> $trusted_dir捕获模板输出的数据<!-capture n ame='eee'-> fffffffff<!_/capture_><!-$smarty.capture.eee->循环<sect ion n ame=loop loop=$News_IN><$News_INloop.News
28、lD></sect ion><!-sect ion n ame=t loop=$data-><tr><td><!-$datat.username-></td></tr><!-/sectio n-><foreach from=$ newsArray item=n ewsID key=k>新闻编号:<$ newsID. newslD><br> 新闻容:<$ newsID. newsTitle><br><hr></fore
29、ach>判断<!-if true->1111<!-else->22222222<!-/if->时间$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"%Y年%m月%d日乱码<!-$smarty.now|date_format:"%Y 年%m 月 %d 日 %H 时%M 分 %S 秒"-> 修改插件:$format = mb_con vert_e ncod in g($format,'gbk','utf-8');retur n mb_
30、c on vert_e ncodi ng(strftime($format, $timestamp),'utf-8','gbk');局部不缓存html:<!-$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"-><!-cacheless a="aaa" b="bbbb"-><!-$smarty. no w|date_format:"%Y-%m-%d %H:%M:%S"-><!-/cacheless-&g
31、t;php:$smarty->register_block('cacheless', 'smarty_block_dynamic', false);/true:缓存, false:不缓存function smarty_block_dy namic($param, $content, &$smarty)return $content;php:function insert_kk() 方法名前必须有"insert" return date('Y-m-d H:i:s');html:<!-i nsert n ame
32、="kk"_>自定义方法注册方法php$smarty->register_fu nction ('test1', 'test'); function test($p)return 'ffffffffff;html:<!-test1 n ame="ff"->方法自定义插件文件方式定义方法方法名function .test.php文 件存在 plugins 目录下smarty_fu nction _test($params, &$smarty)function smarty_fu nct
33、ion _test($params, &$smarty)return 'fff;html调用:<!-test n ame='aa' p='ff_>插入方法插件文件:文件存于plug ins目录下 function smarty_ in sert_kk()return date('Y-m-d H:i:s');php:function insert_kk()/ 方法名前必须有"insert" return date('Y-m-d H:i:s');html:<!-i nsert n ame=
34、"kk"->管道符自定义方法 插件文件方式定义方法fun ctio nmodifier.test.php 文件 存在于 plug ins 目 录下,方法名 smarty_modifier_test($str, $str2)function smarty_modifier_test($str, $str2)return $str.$str2;html调用:<!-'ff|test:'tt'->php:function eee($a)return 'ffffffffffffff;html:<!-|eee->if语句eq
35、相等,ne、neq不相等,gt大于gte、ge大于等于,Ite、le小于等于,not非, mod求模。is not div by是否能被某数整除,is not even是否为偶数,$a is not even by $b 即($a / $b) % 2 = 0is not odd是否为奇$a is not odd by $b 即($a / $b) % 2 != 0XMLsaxxml:<-?xml version="1.0" encoding="utf-8"?-><books><book><author>Jac
36、k Herringtonv/author> <title>PHP Hacks</title> <publisher>O'Reilly</publisher> </book><book><author>Jack Herringtonv/author> <title>Podcasti ng Hacks</title> <publisher>O'Reilly</publisher></book><book><au
37、thor> 作者 </author><title> 标题 </title><publisher> 出版者 </publisher></book></books>php:$g_books = array();$g_elem = nu II;function startEleme nt( $parser, $n ame, $attrs )global $g_books, $g_elem;if ( $name = 'BOOK' ) $g_books = array(); $g_elem = $n
38、 ame; function en dEleme nt( $parser, $n ame ) global $g_elem; $g_elem = n ull; function textData( $parser, $text )global $g_books, $g_elem;if ( $g_elem = 'AUTHOR' |$g_elem = 'PUBLISHER' |$g_elem = 'TITLE')$g_books cou nt( $g_books ) - 1 $g_elem = $text; $parser = xml_parser_
39、create();xml_set_eleme nt_ha ndler( $parser, "startEleme nt", "en dEleme nt"); xml_set_character_data_ha ndler( $parser, "textData");$f = fopen( '1.xml', 'r');while($data = fread( $f, 4096 )xml_parse( $parser, $data );xml_parser_free( $parser );foreach(
40、$g_books as $book )echo $book'TITLE'." - .$book'AUTHOR'."- ;echo $book'PUBLISHER'."<br>"DomDocume nt()xml:<-?xml version="1.0" encoding="utf-8"?-><books><book><author>Jack Herringtonv/author<title>PHP
41、 Hacks</title><publisher>O'Reilly</publisher></book><book><author>Jack Herringtonv/author><title>Podcasti ng Hacks</title><publisher>O'Reilly</publisher></book><book><author> 作者 </author><title> 标题 &
42、lt;/title><publisher> 出版者 </publisher></book></books>php读取:$doc = new DOMDocume nt();$doc->load( "l.xml");$books = $doc->getElementsByTagName( "book");foreach( $books as $book )$authors = $book->getEleme ntsByTagName( "author");$autho
43、r = $authors->item(0 )->no deValue;$publishers = $book->getEleme ntsByTagName( "publisher");$publisher = $publishers->item(0 )->no deValue;$titles = $book->getElementsByTagName( "title");$title = $titles->item(O)->nodeV alue;echo "$title - $author - $
44、publisher<br>" php生成:$books = array();$books = array('title' => 'PHP Hacks','author' => 'Jack Herrington', 'publisher' => "O'Reilly");$books = array('title' => 'Podcast ing Hacks','author' => '
45、;Jack Herrington', 'publisher' => "O'Reilly");$doc = new DOMDocume nt(); $doc->formatOutput = true;$r = $doc->createEleme nt( "books");$doc- >ap pe ndChild( $r );foreach( $books as $book )$b = $doc->createEleme nt( "book");$author = $doc-&
46、gt;createEleme nt( "author");$author->appe ndChild($doc->createTextNode( $book'author');$b->appendChild( $author );$title = $doc->createEleme nt( "title");$title->appe ndChild($doc->createTextNode( $book'title');$b->appendChild( $title );$publ
47、isher = $doc->createEleme nt( "publisher");$publisher->appe ndChild($doc->createTextNode( $book'publisher');$b->appendChild( $publisher );$r->appendChild( $b );echo $doc->saveXML();echo $doc->save('222.xml');SimpleXMLxml:<books><book><aut
48、hor>Jack Herringtonv/author<title>PHP Hacks</title><publisher>O'Reilly</publisher></book></books>php:$xml = new SimpleXMLEIeme nt('1.xml', NULL, TRUE);echo$xml->book0->author."".$xml->book0->title."".$xml->book0-&g
49、t;publisher;正那么ereg系列的正那么表达式不需要定届符,preg系列的才需要,并且定界符可以自己选择,只有前后一对就行,比方我们一般使用/符号,但是如果里面有/需要匹配那么就需要使用 V来 表示,当/需要出现屡次的时候,这样就不方便,我们就可以使用其他的定界符 ,比方|正那么特殊字符. + * ? A $ ( ) = ! < > | :由原子(普通字符,如英文字符)、 元字符(有特殊功用的字符) 模式修正字符一个正那么表达式中,至少包含一个原子全部符号解释将下一个字符标记为一个特殊字符、或一个原义字符、或一个 个八进制转义符。例如,'n'匹配字符&qu
50、ot;n"。n'匹配一个换行符。序列 那么匹配"("。A向后引用、或一""而"("''匹配匹配'n'或$匹配'n'或匹配输入字符串的开始位置。如果设置了 'r'之后的位置。匹配输入字符串的完毕位置。如果设置了 'r'之前的位置。匹配前面的子表达式零次或屡次。RegExp对象的RegExp对象的例如,Multili neMultili ne属性,A也属性,zo*能匹配"z"以与"zoo" 。 *等价于
51、0,。匹配前面的子表达式一次或屡次。 +等价于1,。匹配前面的子表达式零次或一次。的"do"。?等价于0,1。n n是一个非负整数。'o',但是能匹配"food"中的两个n, n是一个非负整数。+能匹配"Z"。例如,例如,匹配确定的0。至少匹配'zo+能匹配"zo"以与"do(es)?"可以匹配"do"n次。例如,'o2'不能匹配"zoo",但不或"does"中"Bob"中的n
52、次。例如,o2,'不能匹配"Bob"中的o', 但能匹配"foooood"中的所有 o。o1,'等价于'o+'。'o0,'那么等价于'o*'。n,m m和n均为非负整数,其中n <= m。最少匹配n次且最多匹配m次。例如,"o1,3"将匹配"fooooood"中的前三个 o。o0,1'等价于o?'。请注意在逗号和两 个数之间不能有空格。?当该字符紧跟在任何一个其他限制符(*, +, ?, n, n, n,m)后面时,匹配模
53、式是非贪婪的。非贪婪模式尽可能少的匹配所搜索的字符串,而默认的贪婪模式那么尽可能多的匹配所搜索的字符串。例如,对于字符串"oooo",'o+?'将匹配单个"0",而0+'将匹配所有0'。.匹配除"n"之外的任何单个字符。要匹配包括'n'在的任何字符,请使用象'n'的模式。(pattern)匹配pattern并获取这一匹配。所获取的匹配可以从产生的Matches集合得到,在VBScript中使用 SubMatches集合,在JScript中那么使用 $0$9属性。要匹 配圆
54、括号字符,请使用 '('或')'。(?:pattern)匹配pattern但不获取匹配结果,也就是说这是一个非获取匹配,不进展存储供以后使用。这在使用"或字符(|)来组合一个模式的各个局部是很有用。例如,'industr(?:y|ies)就是一个比'industry|industries'更简略的表达式。(?=pattern)正向预查,在任何匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如,Win dows (?=95|98|NT|2000)'能匹配"
55、;Windows 2000" 中的"Windows",但不能匹配 "Windows 3.1" 中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后 立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始。pattern)负向预查,在任何不匹配pattern的字符串开始处匹配查找字符串。这是一个非获取匹配,也就是说,该匹配不需要获取供以后使用。例如'Win dows (?!95|98|NT|2000)'能匹配 "Windows 3.1"中的"Wi
56、ndows",但不能匹配 "Windows 2000" 中的"Windows"。预查不消耗字符,也就是说,在一个匹配发生后,在最后一次匹配之后 立即开始下一次匹配的搜索,而不是从包含预查的字符之后开始x|y 匹配 x 或 y。例如,'z|food'能匹配"z"或"food"。(z|f)ood'那么匹配"zood" 或"food"。xyz字符集合。匹配所包含的任意一个字符。例如,abc'可以匹配"plain"中的a&
57、#39;。Axyz负值字符集合。匹配未包含的任意字符。例如,'Aabc'可以匹配"plain"中的'p'。a-z字符围。匹配指定围的任意字符。例如, 'a-z'可以匹配'a'至U 'z'围的任 意小写字母字符。Aa-z负值字符围。匹配任何不在指定围的任意字符。例如,'Aa-z'可以匹配任何不在'a'到'z'围的任意字符。b 匹配一个单词边界,也就是指单词和空格间的位置。例如,'erb'可以匹配"never"中的&
58、#39;er',但不能匹配 "verb"中的'er'。B 匹配非单词边界。'erB'能匹配"verb"中的'er',但不能匹配"never"中的'er'。cx 匹配由x指明的控制字符。例如,cM匹配一个 Control-M 或回车符。x的 值必须为 A-Z或a-z之一。否那么,将 c视为一个原义的'c'字符。d 匹配一个数字字符。等价于 0-9。D 匹配一个非数字字符。等价于A0-9。f 匹配一个换页符。等价于 x0c和cL。n 匹配一个换行符。等
59、价于 x0a和cJ。r匹配一个回车符。等价于x0d和cM。s匹配任何空白字符,包括空格、制表符、换页符等等。等价于fnrtv。S匹配任何非空白字符。等价于a fnrtv。t匹配一个制表符。等价于 x09和 cI。v匹配一个垂直制表符。等价于x0b 和 cK。w匹配包括下划线的任何单词字符。等价于'A-Za-z0-9_'。W匹配任何非单词字符。等价于'AA-Za-z0-9_'。xn匹配n,其中n为十六进制转义值。 十六进制转义值必须为确定的两个数字长。例如,'x41'匹配"A"。'匕041'那么等价于'x
60、04' & "1"。正那么表达式中可以使用ASCII编码。.num 匹配num,其中num是一个正整数。对所获取的匹配的引用。例如,(.)1'匹配两个连续的一样字符。n标识一个八进制转义值或一个向后引用。如果n之前至少n个获取的子表达式,那么n为向后引用。否那么,如果 n为八进制数字(0-7),那么n为一个八进制转 义值。nm标识一个八进制转义值或一个向后引用。如果nm之前至少有nm个获得子表达式,那么 nm为向后引用。如果 nm之前至少有 n个获取,那么 n为一个后跟文 字m的向后引用。如果前面的条件都不满足,假设n和m均为八进制数字 (0-7),
61、那么nm将匹配八进制转义值 nm。nml如果n为八进制数字(0-3),且m和I均为八进制数字(0-7),那么匹配八进制转义值 nml。un 匹配n,其中n是一个用四个十六进制数字表示的Unicode字符。例如,u00A9匹配符号。例子八b(a-z+)b/i单词数量/(w+):W(F/:+)(:d*)?(F# *)/将一个URL解析为协议、域、端口与相对路径"(?:Chapter|Sectio n) 1-90-90,1$/定位章节的位置/-a-z/ A至z共26个字母再加一个-号。/terb/ 可匹配 chapter,而不能 terminal 八Bapt/可匹配chapter,而不能a
62、ptitude/Windows(?=95 |98 |NT )/ 可匹配 Windows95 或 Windows98 或 WindowsNT,当找到 一个匹配后,从 Windows后面开始进展下一次的检索匹配。A_.0-9a-z-+(0-9a-z0-9a-z-+.)+a-z2,3$ Email 合法格式检查A0-9+$纯数据检查A0-9a-z10-9a-z-0,19$用户名检查,字母和数字开始,只能含字母、数字、横杠模式修正符i忽略大小写s如果设定了此修正符,模式中的圆点元字符.匹配所有的字符,包括换行符e只用在preg_replace(),在替换字符串中对逆向引用作正常的替换,将其作为PHP代
63、码求值,并用其结果来替换所搜索的字符串。如:$p = '/colorFo nt(.+?)VcolorFo nt/ie:$t = '"<img src='color.php?t=".urle ncode("1")."'/>":ecoh preg_replace($p,$t,$stri ng);这里必须加上e修正,才能将匹配到的容用 urlencode处理U贪婪模式,最大限度匹配如:/aw+?e/U 匹配abceadeddd中的abceade而不是abce,如果不加 U修正,那么匹 配己 abceA强制从字符串开头匹配,即自动在模式开头加上 Am当设定了此修正符,“行起始"a和“行完毕"$除了匹配整个字符串开头和 完毕外,还分别匹配其中的换行符的之后和之前。如果目标字符串中没有“n 字符或者模式中没有a或$,那么设定此修正符没有任何效果。D模式中的美元元字符仅匹配目标字符串的结尾。没有此选项时,如果最后一个 字符是换行符的话,美元符号也会匹配此字符之前。如果设定了m修正符那么忽略此选项例子匹配中文p
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 国际融资租赁合同
- 畜牧业合作社养殖废弃物处理协议
- 仅用于招聘面试的工作证明声明(5篇)
- 植物学分类与鉴别能力考核试题
- 行政管理经济法前景展望试题及答案
- 思想政治教育学科授课
- 酒店业服务质量提升与管理手册
- 影视制作公司与剧组合作协议
- 畜牧养殖合作与产品供应保障协议
- 水利水电工程前沿研究领域试题及答案
- 妇科常用方歌(珍藏版)-滋血汤方歌之欧阳理创编
- GB/T 35544-2017车用压缩氢气铝内胆碳纤维全缠绕气瓶
- 2022中国流动人口发展报告
- 《无人机结构与系统》第1章 无人机结构与飞行原理
- 中国交通文化
- 肠道病毒(共33张PPT)
- DB33T 2540-2022 生物安全实验室管理评价规范
- 2023届高三语文模拟试卷及参考答案2023年全国高考(北京卷)语文及试题解析
- 清华大学抬头信纸
- 设备一级保养表(行吊)
- 《教育心理学电子书》word版
评论
0/150
提交评论