[英]PHP preg_match between tags with PHP logic inside
我有一個動態站點地圖創建腳本,該腳本遞歸地瀏覽文件系統,並在需要時打開文件的開頭,然后在標記之間查找文本。 它在安裝時就像...
<title>Page Title | Company, Inc.</title>
但是,現在我增加了一些麻煩,並設置了一種通過管理工具管理標題和元信息的方法。 以防萬一沒有輸入內容,我想回到原來的默認標題信息,但是我的preg_match無法正常工作...
<title><?=@$page_meta_array['page_title']!=''?$page_meta_array['page_title']:"Default Title Here";?> | Company, Inc.</title>
我將頁面傳遞給的php函數如下所示...
function get_title($filename) {
$retval = "";
$handle = fopen($filename, "r");
$head = fread($handle, 4096);
preg_match(";<title>(.+)</title>;", $head, $matches);
if(sizeof($matches) == 2) {
$retval = trim($matches[1]);
}
fclose($handle);
return $retval;
}
有人可以指出我正確的preg_match嗎? 我想從上面的第二個示例中返回“ Default Title Here”。
謝謝
這可能會做到:
preg_match(';<title><\?[^>]*"([^"]*)"[^>]*></title>;', $head, $matches);
請注意,不贊成使用短標記,並且在PHP6中可能無法使用。
您首先需要解析PHP代碼,然后檢查匹配項。 您為什么不只使用$ page_meta_array ['page_title']的內容?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.