红穆笔记
首頁 語言筆記 PHP正則替換preg
語言筆記 PHP PHP採集

PHP正則替換preg

PHP正则替换preg
<?php
$str="as2223adfsf0s4df0sdfsdf";
echo preg_replace("/0/","",$str);//去掉0字符,此時相當於 replace的功能, preg_replace("/0/","A",$str); 這樣就是將0變成A的意思了
echo preg_replace("/[0-9]/","",$str);//去掉所有數字
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); //去掉所有字母和數字
?>
經過以上的例子,相信大家知道,[ ] 和裏面的,有什麼作用了。也可以看到,匹配的字符串必須加 / /(看例子的第一個參數)

<?php
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.*>/","",$str);

//這個是表示去除以<開頭,以>結尾的那部份,輸出結果是:acsdcssdcd
注意:上面的 .* 是表示任何字符,也就是說不管<>包住的是什麼都去掉其中. 表示任意字符, * 表示任意個數

現在我們來改動一下,如果不想是任何個數呢?
$str="acsdcs<55555555>sc<6666>sdcd";
echo preg_replace("/<.{4}>/","",$str); //此時輸出:acsdcs<55555555>scsdcd因爲{4}指定了條件:<>內爲4個字符的才滿足條件,所以<55555555>不符合條件,沒有被替換。

注意:這時我們又學到了一個知識點{數字} 表示指定前面的個數,*就表示是任意個(0--無限個)

表示重複次數的除了 *, {指定次數} 表示,還有很多表達形式:

 

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

上面的例子只要是爲了 表達 * 與+的區別 ,* 表示重複0數或n 次,而+ 表示1次以上,即一例中<[0-9]+ >表示<>裏面至少要有一個數字才符合條件。

相信這時大家知道,爲什麼上例中用* 和用+輸出的結果不同了吧

再來:

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

看[0-9]? 這裏的?表示要是0次或1 次,超過1次又不符合條件了。
總結一下,上面我們學會了 * + ? 和大括號{}表示重複次數的方法。

----------------------------------------------------------------------------------------------------

    $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); 

補充:

.$pattern是數組,$replace也是數組,則中對應的 元素進行替換

php

preg_replace有五個參數,有三個是必須參數

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

$pattern 可以是字符串,字符串數組,或者preg

$replace 是用於替換的字符串或字符串數組

$subject 目標字符串或者目標字符串數組

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

$count 返回在目標字符串所替換的次數

在repalce與pattern中有幾點要注意的

微信赞赏

微信

支付宝赞赏

支付寶

✍️ 作者: 紅穆

網站管理員 · 感謝閱讀,更多精彩內容敬請關注

作者主頁 查看主頁 →

相關文章

PHP强制转换类型

PHP強制轉換類型 語言筆記 PHP PHP採集 PHP與mysql

獲取數據類型1.如果想查看某個表達式的值和類型,用var_dump()。 2.如果只是想得到一個易讀懂的類型的表達方式用於調試,用 gettype()。3.要查看某個類型,不要用 gettype(),而用is_type() 函數。字符串轉換爲數值當一個字符串被當作數字來求值時,根據以下規則來決定結果…
👁 232
php 抓取网站源码与json解析

php 抓取網站源碼與json解析 語言筆記 PHP PHP採集

最近想要採集一點資源網站的名字,於是採集時發現了一個好玩的,對面網站使用的是ajax技術加載的,所以我找到了api,因此就直接寫代碼來入庫就是了,代碼這裏備份一下,以後會用到的。&lt;?php $date = file_get_contents('網站地址'); $date = json_deco…
👁 136
php 特殊字符转义与还原

php 特殊字符轉義與還原 語言筆記 PHP PHP採集 PHP與mysql

轉義字符是一種特殊的字符常量。轉義字符以反斜線"&quot;開頭,後跟一個或幾個字符。轉義字符具有特定的含義,不同於字符原有的意義,故稱“轉義”字符。轉義字符的用處1:將普通字符轉爲特殊用途,如後退鍵,回車鍵等。2:用來將特殊意義的字符轉換回它原來的意義。3:在數據寫入數據庫前,都會使用轉義字符(函…
👁 180
PHP preg

PHP preg 語言筆記 PHP PHP採集

&lt;?php $userinfo = &quot;Name: &lt;b&gt;PHP&lt;/b&gt; &lt;br&gt; Title: &lt;b&gt;Programming Language&lt;/b&gt;&quot;; preg_match_all (&quot;/&lt;b&…
👁 169
PHP mysqli

PHP mysqli 語言筆記 PHP PHP採集 PHP與mysql

執行鍼對數據庫的查詢:刪除數據庫&lt;?php // 假定數據庫用戶名:root,密碼:123456,數據庫:RUNOOB $con=mysqli_connect(&quot;localhost&quot;,&quot;root&quot;,&quot;123456&quot;,&quot;RUN…
👁 232

推薦閱讀

资源网站typecho001模板

資源網站typecho001模板 程序筆記 Typecho

typecho001模板板本請勿修改本模板文件夾名稱 文件夾名稱爲:typecho001 1.4修復文章頁面js輸出問題1.3修復未安裝插件時的報錯提示優化列表頁代碼輸出1.2修復評論功能增加自定義首頁標題1.1修復評論回覆不對稱功能添加首頁單獨的標題設置功能增加網站favicon.ico圖標增加一…
👁 198
typecho分页样式的修改

typecho分頁樣式的修改 程序筆記 Typecho

大人,時代變了!目前typecho最完美的解決方案了,因爲百度只能看到固定思維的代碼。實際生成的html代碼,乾淨到讓人窒息完全的自定義,包括給li元素加上class,給a元素加上class,給上一頁下一頁加上class,去除typecho自帶用於表示更多的li標籤。甚至裏面的內容我也能添加一些文字…
👁 517
typecho文章页评论样式修改

typecho文章頁評論樣式修改 程序筆記 Typecho

需求使用 typecho 進行模板開發的時候,默認評論樣式很難看。因此需要評論需要重新輸出或進行樣式設定。默認的評論模板文件路徑是:comments.php主要使用的相關變量&lt;?php $comments-&gt;gravatar('40', ''); ?&gt; //頭像,有兩個參數,大小、…
👁 388
Typecho 对数据库的增删改查操作方法 API

Typecho 對數據庫的增刪改查操作方法 API 程序筆記 Typecho

Typecho數據庫提供了非常易用的api,和原生SQL寫法沒有太大的差別,同時也很好地處理了SQL常見的安全問題,如sql注入。本文從實用角度出發,介紹了typecho操作數據庫的常用場景以及相關api用法。表創建和刪除在Typecho插件開發過程中,往往需要創建自己的表。上文提到Typecho_…
👁 552
PHP ob函数记录

PHP ob函數記錄 語言筆記 PHP

下面3個函數的用法 ob_get_contents(); ob_end_clean(); ob_start(); 可以藉助這幾個函數實現緩衝本地文件,以及執行本地腳本代碼。 使用ob_start()把輸出的代碼存到緩衝區,頁面不會顯示出來; 然後用ob_get_contents得到緩衝區的數據。 o…
👁 141
Typecho调用热门评论文章和调用最新文章的方法总结

Typecho調用熱門評論文章和調用最新文章的方法總結 程序筆記 Typecho

Typecho文章調用Typecho程序在設計主題的時候,側欄有些時候需要調用熱評文章或者最新文章。我們可以在指定的位置通過腳本直接調用。在這篇文章整理這個調用文章的方法,以後在有需要的模板中可以直接調用使用。其實設計主題就那麼回事,靜態模板搞定後,就是直接調用。最新文章調用 &lt;?php $t…
👁 295