国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PHP > 正文

PHP應(yīng)用之PHP正則替換preg_replace函數(shù)的使用方法

2024-05-04 21:47:11
字體:
供稿:網(wǎng)友
這篇文章主要為大家詳細(xì)介紹了PHP應(yīng)用之PHP正則替換preg_replace函數(shù)的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,有需要的朋友可以收藏方便以后借鑒。

2018-06-18農(nóng)歷5月初5端午節(jié)。首先361模板祝廣大草根站長端午節(jié)快樂。

 今天本不打算發(fā)相關(guān)文章休息休息的,但是一大早就醒來了,沒什么事情做,就給大家介紹一下PHP正則替換preg_replace函數(shù)的使用方法吧。

一、首先來看一段常規(guī)的替換例子:

<?php$str="as2223adfsf0s4df0sdfsdf";echo preg_replace("/0/","",$str); //去掉0字符,此時(shí)相當(dāng)于 replace的功能, preg_replace("/0/","A",$str); 這樣就是將0變成A的意思了echo preg_replace("/[0-9]/","",$str); //去掉所有數(shù)字echo preg_replace("/[a-z]/","",$str); //這樣是去掉所有小寫字母echo preg_replace("/[A-Z]/","",$str); //這樣是去掉所有大寫字母echo preg_replace("/[a-z,A-Z]/","",$str); //這樣是去掉所有字母$str="as2223adfsAAf0s4df0s中國人dD中南海DDfsdf";echo preg_replace("/[a-z,A-Z,0-9]/","",$str); //去掉所有字母和數(shù)字?>

經(jīng)過以上的例子,相信大家知道,[ ] 和里面的 , 有什么作用了。也可以看到,匹配的字符串必須加 /  /。

<?php$str="acsdcs<55555555>sc<6666>sdcd";echo preg_replace("/<.*>/","",$str);//這個(gè)是表示去除以<開頭,以>結(jié)尾的那部份,輸出結(jié)果是:acsdcssdcd?>

注意:


上面的 .* 是表示任何字符,也就是說不管 <> 包住的是什么都去掉其中 . 表示任意字符, * 表示任意個(gè)數(shù)

現(xiàn)在我們來改動(dòng)一下,如果不想是任何個(gè)數(shù)呢?

<?php$str="acsdcs<55555555>sc<6666>sdcd";echo preg_replace("/<.{4}>/","",$str);//此時(shí)輸出:acsdcs<55555555>scsdcd因?yàn)閧4}指定了條件:<>內(nèi)為4個(gè)字符的才滿足條件,所以<55555555>不符合條件,沒有被替換。?>

注意:這時(shí)我們又學(xué)到了一個(gè)知識點(diǎn){數(shù)字} 表示指定前面的個(gè)數(shù),*就表示是任意個(gè)(0--無限個(gè))

表示重復(fù)次數(shù)的除了 * , {指定次數(shù)} 表示,還有很多表達(dá)形式:

<?php$str="acsdcs<55555555>sc<6666>sd<>cd";echo preg_replace("/<[0-9]*>/","",$str);//輸出acsdcscdecho "<hr>";echo preg_replace("/<[0-9]+>/","",$str);//輸入acsdcsscsd<>cd?>

上面的例子只要是為了 表達(dá) * 與+的區(qū)別 , * 表示重復(fù)0數(shù)或n次,而+表示1次以上,即一例中 <[0-9]+ > 表示 <> 里面至少要有一個(gè)數(shù)字才符合條件。

相信這時(shí)大家知道,為什么上例中用 * 和用 + 輸出的結(jié)果不同了吧

再來:

<?php$str="acsdcs<55555555>sc<6666>sd<>cd";echo preg_replace("/<[0-9]?>/","",$str);//輸出acsdcs<55555555>sc<6666>sdcd?>

看 [0-9]? 這里的 ? 表示要是0次或1 次,超過1次又不符合條件了。

總結(jié)一下

上面我們學(xué)會(huì)了 * + ? 和大括號 {} 表示重復(fù)次數(shù)的方法。

<?php$s=preg_replace("/(.*?[月票|求|更].*?)/i","",$s);preg_match_all('/href="([0-9]+).shtm">(.+?)</a>/i',$s,$arr_dstorycate);print_r($arr_dstorycate);preg_match_all("/<img.*?src=[/'| /"](.*?(?:[.gif|.jpg]))[/'|/"].*?[/]?>/i",$content,$arr_dstorycate); print_r($arr_dstorycate);?>

補(bǔ)充:

.$pattern是數(shù)組,$replace也是數(shù)組,則中對應(yīng)的元素進(jìn)行替換。

preg_replace有五個(gè)參數(shù),有三個(gè)是必須參數(shù):

Preg_replace(mixed $pattern, mixed $replacement, mixed $subject [,int $limit = -1 [,int $count ]]);

$pattern 可以是字符串,字符串?dāng)?shù)組,或者preg


$replace 是用于替換的字符串或字符串?dāng)?shù)組


$subject 目標(biāo)字符串或者目標(biāo)字符串?dāng)?shù)組


$limit 每個(gè)模式在每個(gè)$subject上最大的替換次數(shù),默認(rèn)是-1(無限次)


$count 返回在目標(biāo)字符串所替換的次數(shù)


以上就是PHP應(yīng)用之PHP正則替換preg_replace函數(shù)的使用方法的全部內(nèi)容,希望對大家的學(xué)習(xí)和解決疑問有所幫助,也希望大家多多支持武林網(wǎng)。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 宁波市| 静安区| 库车县| 牙克石市| 边坝县| 遂川县| 盐城市| 奇台县| 宜章县| 孙吴县| 封丘县| 墨玉县| 阳高县| 沭阳县| 固阳县| 湘潭县| 左云县| 陕西省| 柳江县| 菏泽市| 醴陵市| 肥乡县| 镇平县| 额敏县| 哈密市| 乌拉特前旗| 商南县| 库伦旗| 三都| 黑河市| 扎兰屯市| 甘谷县| 彝良县| 铜鼓县| 本溪市| 民丰县| 广丰县| 浦县| 石河子市| 石林| 清原|