最新公告
  • 欢迎您光临码农资源网,本站秉承服务宗旨 履行“站长”责任,销售只是起点 服务永无止境!加入我们
  • php preg_replace函数基础与实例代码

    preg_replace(mixed $pattern,mixed $replacement,mixed $subject [, int $limit = -1 [, int &$count ]])主题为匹配搜索模式,替换要搜索的模式,它可以是一个字符串或一个字符串数组.

    电子修饰符使preg_replace函数()替代后,适当引用作为参数是php代码进行替换,提示:请确保置换构成一个有效的php代码字符串,否则php将在包含preg_replace函数线()解析错误.

    返回值:preg_replace函数()返回一个数组,如果这个问题的参数是一个数组或一个字符串,否则,如果找到匹配,新问题会产生,否则将返回主题不变或null如果发生错误.

    实例一,代码如下:

    $string = 'april 15, 2003'; 
    $pattern = '/(w+) (d+), (d+)/i'; 
    $replacement = '${1}1,$3'; 
    echo preg_replace($pattern, $replacement, $string); 

    实例二,代码如下:

    $string = 'the quick brown fox jumped over the lazy dog.'; 
    $patterns = array(); 
    $patterns[0] = '/quick/'; 
    $patterns[1] = '/brown/'; 
    $patterns[2] = '/fox/'; 
    $replacements = array(); 
    $replacements[2] = 'bear'; 
    $replacements[1] = 'black'; 
    $replacements[0] = 'slow'; 
    echo preg_replace($patterns, $replacements, $string);  

    通过ksorting模式和替代,我们应该得到我们想要的,代码如下:

    ksort($patterns); 
    ksort($replacements); 
    echo preg_replace($patterns, $replacements, $string);  

    更换几个值,代码如下:

    $patterns = array ('/(19|20)(d{2})-(d{1,2})-(d{1,2})/', 
                       '/^s*{(w+)}s*=/'); 
    $replace = array ('//', '$ ='); 
    echo preg_replace($patterns, $replace, '{startdate} = 1999-5-27');  

    过滤所有html标签,代码如下:

    preg_replace("/(</?)(w+)([^>]*>)/e",  
                 "'1'.strtoupper('2').'3'",  
                 $html_body); 

    过滤所有script,代码如下:

    $user_agent = "mozilla/4.0 (compatible; msie 5.01; windows nt 5.0)"; 
     
    $ch = curl_init();    // initialize curl handle  
    curl_setopt($ch, curlopt_url, $url); // set url to post to  
    curl_setopt($ch, curlopt_failonerror, 1);              // fail on errors  
    curl_setopt($ch, curlopt_followlocation, 1);    // allow redirects  
    curl_setopt($ch, curlopt_returntransfer,1); // return into a variable  
    curl_setopt($ch, curlopt_port, 80);            //set the port number  
    curl_setopt($ch, curlopt_timeout, 15); // times out after 15s 
     
    curl_setopt($ch, curlopt_useragent, $user_agent); 
     
    $document = curl_exec($ch); 
     
    $search = array('@<script[^>]*?>.*?</script>@si',  // strip out javascript教程 www.111cn.net 
    '@<style[^>]*?>.*?</style>@siu',    // strip style tags properly  
    '@<[/!]*?[^<>]*?>@si',            // strip out html tags  
    '@<![ss]*?–[ ]*>@',         // strip multi-line comments including cdata  
    '/s{2,}/', 
     
    ); 
     
    $text = preg_replace($search, " ", html_entity_decode($document)); 
     
    $pat[0] = "/^s+/";  
    $pat[2] = "/s+$/";  
    $rep[0] = "";  
    $rep[2] = " "; 
     
    $text = preg_replace($pat, $rep, trim($text)); 
    return $text;  
    } 

    此函数接受一个url并返回页面的纯文本版本,它使用curl来检索网页,一个正则表达式的组合,以去除所有不必要的空白,这个功能甚至剥夺了从形式和script标记,这是由php函数忽略,如用strip_tags,他们地带唯一的标记文本,留下完整的文字在中间.

    正则表达式被分为两个阶段,以避免删除单,也由 s的匹配,回车,但仍然删除所有空白行和多个换行符或空格,修整手术进行了2个阶段进行.

    想要了解更多内容,请持续关注码农资源网,一起探索发现编程世界的无限可能!
    本站部分资源来源于网络,仅限用于学习和研究目的,请勿用于其他用途。
    如有侵权请发送邮件至1943759704@qq.com删除

    码农资源网 » php preg_replace函数基础与实例代码
    • 7会员总数(位)
    • 25846资源总数(个)
    • 0本周发布(个)
    • 0 今日发布(个)
    • 293稳定运行(天)

    提供最优质的资源集合

    立即查看 了解详情