簡體   English   中英

preg_match當前使用的URL設計的功能(條件)或更好的主意

[英]preg_match url current with function designed (condition), or better ideas

首先,我對這段代碼不太了解,我知道它很糟糕,請原諒。

在我的網站上,我有一個過時的代碼“ ereg”,現在我正嘗試使用preg_match進行解析,但是我不知道這個新的PHP代碼。

function Menu($sitio) {
    $url = 'http://www.'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];
    if(ereg($sitio, $url)) {echo 'class="totalactive"';}
}

如您所見,如果我有一個列表,例如:

<li <?php Menu (/contact) ?>>

如果您在www.yourwebsite.com/contact上,則代碼有效。 (但是我認為有更好的方法來執行此操作,因為我在主體頁面以及不在此列表中的任何其他網站上都有問題。)

我認為這段代碼太糟糕了,知道用php5.3或更高版本甚至更無用。

Preg_match是否有新方法可以檢測到該站點並默認設置其中之一? 還是用php5.3修復此問題的全新方法?

只需以此替換您的ereg呼叫。

preg_match("|" . preg_quote($sitio, "|") . "|", $url)

要僅匹配指定的url,您必須在正則表達式中添加一個開始和結束符號,如下所示:

preg_match("|^" . preg_quote($sitio, "|") . "$|", $url)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM