php加載語言包

在languagebag.php中

<?php
ob_start();
include_once ‘template/index.html‘; //加载模板文件,并执行里面的php指令
$str = ob_get_contents();
ob_clean();

$zh_arr = array( //中文语言包
‘name‘        => ‘姓名‘,
‘address‘    => ‘地址‘,
‘date‘        => ‘日期‘    
);
$en_arr = array( //英文语言包
‘name‘        => ‘Name‘,
‘address‘    => ‘Address‘,
‘date‘        => ‘Date‘
);

$lan_arr = $zh_arr; //选择语言包
foreach ($lan_arr as $key => $value){ //遍历语言包,替换变量
$str = str_replace(‘{$‘.$key.‘}‘,$value,$str);
}
echo $str; //输出页面内容
ob_flush(); //刷新缓冲区
?>

在tempalte/index.html中

<!doctype html>
<html>
    <body>
        {$name}
        {$address}
        {$date}
    </body>
    
</html>

php加載語言包,布布扣,bubuko.com

时间: 2024-12-15 01:39:02

php加載語言包的相关文章

GO語言基礎教程:數據類型,變量,常量

GO類似PHP,每行的結尾要加分號來結束,不同點在於GO對此並不強制,這一點又像javascript,另外GO的語句塊是用一對大括號來包裹的,但是go要求左大括號必須要在語句的結尾處,不能在行首出現左大括號,這是一個新的特性,至少在我接觸的編程語言中第一次遇到這種狀況.還有就是GO對大小寫敏感,這一點相信大家不會有什麽爭議.    GO語言的註釋方法和PHP是相同的,單行註釋用//,而多行註釋用/*註釋內容*/,這一點是沒差別的. Go有眾所周知的數據類型int,這個類型很特殊,他會自動根據您的

GO語言基礎教程:Hello world!

首先簡單地說一下GO語言的環境安裝,從 http://golang.org/dl/ 針對自己的操作系統選擇合適的安裝包,然後下載安裝即可,下載的時候注意別選錯了的操作系統,例如go1.3.1.darwin-386-osx10.6.tar.gz 這個是蘋果操作系統的安裝包,go1.3.1.linux-amd64.tar.gz 這個是64位linux的安裝包,go1.3.1.windows-amd64.msi 這個是64位windows系統的安裝包,安裝過程很簡單,參照說明一步一步進行即可,在此不再

GO語言基礎教程:流程控制

在開始一個新的章節之前先來回顧上一篇文章的部份,首先我們來看這段代碼: package main import ( "fmt" ) func main(){ var x,y int=1,2 { var x int=2 { var x int=3 fmt.Println(x,y) //首先輸出3,2 如果我把這行輸出語句注解掉,大家猜猜會如何? } fmt.Println(x,y) //其次輸出2,2 } fmt.Println(x,y) //最後輸出1,2 } 執行結果我已經加到註釋內

GO語言基礎教程:array,slice,map

這節課我們來講解數組,切片和map,或許您是從其他語言轉到GO語言這邊的,那麼在其他語言的影響下您可能會不太適應GO語言的數組,因為GO語言把數組給拆分成了array,slice和map,接下來的時間讓我們一起研究一下這三者的差異以及用法.首先我們說一下array的部份: 1.數組的長度屬於數組的一部份,我們看下邊的例子 a:=[1]int{}和b:=[2]int{} a和b都是數組,但是他們的長度不同,在GO語言中會認為是不同的兩種類型,既然是不同的類型,那麼他們就不能進行比較或直接賦值的操作

GO語言基礎教程:序章

首先自我介紹一下我自己,我是一個coder,目前主要從事B/S程序開發工作,懂點PHP;ASP;JSP;JS;VB;C;DELPHI;JAVA,另外知道幾個數據庫,除此之外別無所長,那麼我為何會選擇學習GO呢!接下來我對此詳細說明一下. 首先我來說明一下C/S程序和B/S程序的優缺點: C/S程序主要是運行在客戶端的電腦上,通常採用安裝的形式,以windows操作系統為例,軟件會被編譯成二進制然後以exe或dll等方式存在於客戶端的電腦上,其執行效率是非常高的,當然了除非編程者把代碼寫的非常糟糕

Jquery easy ui datagrid動態加載列問題

1.如下图效果是当选择不同的日期范围时datagrid则会加载出对应的列数 2.首先是后台组装数据,我采用的是循环并拼接DataTable数据,如下代码 //循環添加datagrid所需的表頭數據 for (int i = 0; i < table.Columns.Count; i++) { columns.AppendFormat("{{field:'{0}',title:'{1}',align:'center',width:{2}}},", table.Columns[i].

Ubuntu語言支持爲灰色修復方法

Ubuntu語言支持爲灰色修復方法 在Ubuntu12.04中,在下不知爲何將 語言支持 中 應用到整個系統 和 添加語言 這2個按弄成了灰色,導致ibus不能輸入中文,現在唔將修復方法公告天下: 1.啓動 terminal ,輸入如下命令, 安裝輸入法:sudo apt-get install ibus-clutter ibus-gtk3 ibus-pinyin 2. 輸入如下命令,選擇語言:sudo gnome-language-selector 3.選擇要安裝的語言:英語,簡體中文和繁體中

groovy+idea+Maven项目加载自身jar包

<dependency> <groupId>fishman</groupId> <artifactId>JMJ_API</artifactId> <version>1.0</version> <scope>system</scope> <systemPath>${project.basedir}/lib/JMJ_API.jar</systemPath> </depend

为什么在加载数据库驱动包的时候有用的是Class.forName( ),却没有调用newInstance( )?

在Java开发特别是数据库开发中,经常会用到Class.forName( )这个方法. 通过查询Java Documentation我们会发现使用Class.forName( )静态方法的目的是为了动态加载类. 通常编码过程中,在加载完成后,一般还要调用Class下的newInstance( )静态方法来实例化对象以便操作.因此,单单使用Class.forName( )是动态加载类是没有用的,其最终目的是为了实例化对象. 有数据库开发经验朋友会发现,为什么在我们加载数据库驱动包的时候有的却没有调