9.3.2 字符串的匹配與查找之(preg_match)

9.3.2 字符串的匹配與查找之(preg_match)

1.php

<?php
/*  $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
    $reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';

 *  分割、匹配、查找、替換
 *
 *  1. 字符串處理函數(shù) (處理快, 但有一些做不到)
 *
 *  2. 正則表達式函數(shù)  (功能強大,但效率要低)
 *
 *
 *  注意:如果可以直接使用字符串處理函數(shù)處理的字符串,就不要使用正則處理
 *
 *
 *  
 * 匹配查找:
 *
 *  strstr  strpos substr
 *
 *
 * 正則匹配查找
 *
 *  preg_match()   preg_match_all()   preg_grep();
 *
 */

    $str = "thi10s 5 is 8 a 9 test!";

    if(preg_match("/\d/", $str)) {
        echo "存在";
    }else{
        echo "不存在";
    }

2.php

<?php
/*  $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
    $reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';

 *  分割、匹配、查找、替換
 *
 *  1. 字符串處理函數(shù) (處理快, 但有一些做不到)
 *
 *  2. 正則表達式函數(shù)  (功能強大,但效率要低)
 *
 *
 *  注意:如果可以直接使用字符串處理函數(shù)處理的字符串,就不要使用正則處理
 *
 *
 *  
 * 匹配查找:
 *
 *  strstr  strpos substr
 *
 *
 * 正則匹配查找
 *
 *  preg_match()   preg_match_all()   preg_grep();
 *
 */
    header("Content-Type:text/html;charset=utf-8");
?>

<?php
    if(isset($_POST['dosubmit'])) {
        if(!preg_match("/^\S+$/",$_POST['username'])) {
            echo "用戶名為空,不成!<br>";
        }


        if(!preg_match("/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*/i", $_POST['email'])) {
            echo "不是正確的email格式";
        }

        if(!preg_match( '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/', $_POST['url'])) {
            echo "不是正確的url格式";
        }
    
    }

?>


<form action="" method="post">
    username: <input type="text" name="username" value="" /><br>
    email: <input type="text" name="email" value="" /><br>
    url: <input type="text" name="url" value="" /> <br>

    <input type="submit" name="dosubmit" value="submit"> <br>
</form>

4.php

<?php
/*  $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
    $reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';

 *  分割、匹配、查找、替換
 *
 *  1. 字符串處理函數(shù) (處理快, 但有一些做不到)
 *
 *  2. 正則表達式函數(shù)  (功能強大,但效率要低)
 *
 *
 *  注意:如果可以直接使用字符串處理函數(shù)處理的字符串,就不要使用正則處理
 *
 *
 *  
 * 匹配查找:
 *
 *  strstr  strpos substr
 *
 *
 * 正則匹配查找
 *
 *  preg_match()   preg_match_all()   preg_grep();
 *
 */
    header("Content-Type:text/html;charset=utf-8");
?>

<?php
    

if(preg_match( '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/', $_POST['url'], $arr)) {
    echo '<pre>';
    print_r($arr);
    echo '</pre>';

    echo "完整的URL是 {$arr[0]} <br>";
    echo "協(xié)議是 {$arr[1]} <br>";
    echo "主機是 {$arr[2]} <br>";
    echo "域名是: {$arr[3]} <br>";
    echo "頂層域: {$arr[4]} <br>";
    echo "資源參數(shù): {$arr[5]} <br>";

    
}

test.php

<?php
/*  $reg = '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/';
    $reg = '/\w+([+-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)* /i';

 *  分割、匹配、查找、替換
 *
 *  1. 字符串處理函數(shù) (處理快, 但有一些做不到)
 *
 *  2. 正則表達式函數(shù)  (功能強大,但效率要低)
 *
 *
 *  注意:如果可以直接使用字符串處理函數(shù)處理的字符串,就不要使用正則處理
 *
 *
 *  
 * 匹配查找:
 *
 *  strstr  strpos substr
 *
 *
 * 正則匹配查找
 *
 *  preg_match()   preg_match_all()   preg_grep();
 *
 */
    header("Content-Type:text/html;charset=utf-8");
?>

<?php
    
if(preg_match( '/(https?|ftps?):\/\/(www|mail|bbs|ftp)\.(.*?)\.(net|com|org|cn)([\w-\.\/\=\?\&\%]*)?/', $_POST['url'], $arr)) {
    echo '<pre>';
    print_r($arr);
    echo '</pre>';

    echo "完整的URL是 {$arr[0]} <br>";
    echo "協(xié)議是 {$arr[1]} <br>";
    echo "主機是 {$arr[2]} <br>";
    echo "域名是: {$arr[3]} <br>";
    echo "頂層域: {$arr[4]} <br>";
    echo "資源參數(shù): {$arr[5]} <br>";

    
}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • 一、字符串操作 PHP開發(fā)中,我們遇到最多的可能就是字符串。 一個字符串 通過下面的3種方法來定義: 1、單引號 ...
    空谷悠閱讀 988評論 1 6
  • PHP 學習目錄 ├─PHP視頻教程 1 LAMP網(wǎng)站構(gòu)建 │ ├─PHP教程 1.1.1 新版視頻形式介紹│ ...
    曹淵說創(chuàng)業(yè)閱讀 16,287評論 29 417
  • 在挖掘分析的過程當中對字符串的處理是極為重要的,且出現(xiàn)也較為頻繁,R語言作為當前最為流行的開源數(shù)據(jù)分析和可視化平臺...
    果果哥哥BBQ閱讀 6,153評論 0 8
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,564評論 19 139
  • 一、數(shù)組 1、數(shù)組的聲明:$arr = array(); 2、數(shù)組的初始化:PHP有兩種數(shù)組:索引數(shù)組、關(guān)聯(lián)數(shù)組。...
    yzw12138閱讀 1,252評論 2 2

友情鏈接更多精彩內(nèi)容