2012-03-15 29 views
2

從笨嘖嘖學習一些代碼,下面的preg_match格局我百思不得其解:的preg_match語法

preg_match('/js$/', $include) 

什麼是JS後$的目的是什麼?

謝謝你一直深思熟慮的回覆!

-----完整代碼-----

<?php if (! defined('BASEPATH')) exit('No direct script access allowed'); 

/** 
* Layouts Class. PHP5 only. 
* 
*/ 
class Layouts { 

    // Will hold a CodeIgniter instance 
    private $CI; 

    // Will hold a title for the page, NULL by default 
    private $title_for_layout = NULL; 

    // The title separator, ' | ' by default 
    private $title_separator = ' | '; 

    public function __construct() 
    { 
    $this->CI =& get_instance(); 
    } 

    public function set_title($title) 
    { 
    $this->title_for_layout = $title; 
    } 

    public function view($view_name, $params = array(), $layout = 'default') 
    { 
    // Handle the site's title. If NULL, don't add anything. If not, add a 
    // separator and append the title. 
    if ($this->title_for_layout !== NULL) 
    { 
     $separated_title_for_layout = $this->title_separator . $this->title_for_layout; 
    } 

    // Load the view's content, with the params passed 
    $view_content = $this->CI->load->view($view_name, $params, TRUE); 

    // Now load the layout, and pass the view we just rendered 
    $this->CI->load->view('laytous/' . $layout, array(
     'content_for_layout' => $view_content, 
     'title_for_layout' => $separated_title_for_layout 
    )); 
    } 

    public function add_include($path, $prepend_base_url = TRUE) 
    { 
    if ($prepend_base_url) 
    { 
     $this->CI->load->helper('url'); // Load this just to be sure 
     $this->file_includes[] = base_url() . $path; 
    } 
    else 
    { 
     $this->file_includes[] = $path; 
    } 

    return $this; // This allows chain-methods 
    } 

    public function print_includes() 
    { 
    // Initialize a string that will hold all includes 
    $final_includes = ''; 

    foreach ($this->includes as $include) 
    { 
     // Check if it's a JS or a CSS file 
     if (preg_match('/js$/', $include)) 
     { 
     // It's a JS file 
     $final_includes .= '<script type="text/javascript" src="' . $include . '"></script>'; 
     } 
     elseif (preg_match('/css$/', $include)) 
     { 
     // It's a CSS file 
     $final_includes .= '<link href="' . $include . '" rel="stylesheet" type="text/css" />'; 
     } 

     return $final_includes; 
    } 
    } 
} 

回答

1

美元是anchor 「字符串的結束」。如果「js」在字符串的末尾,匹配只會成功。

+0

感謝您的參考。 – Wasabi 2012-03-17 15:25:37

1

美元符號表示正則表達式中的行尾。