程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> php、js、java的正則替換文本方式制作模板內容輸出

php、js、java的正則替換文本方式制作模板內容輸出

編輯:關於PHP編程

在制作模板內容輸出時,很經常會使用<%=%>之類的占位符,用正則的方式很方便替換這個內容,工作中只接觸到java、php、js,三種語言的簡單的實現方式: java版 import java.util.HashMap; import java.util.Map; import java.util.regex.Matcher; import java.util.regex.Pattern;   public class TestRex {     public static void main(String[] args) {         Map<String, String> map = new HashMap<String, String>();         map.put("name", "penngo");         map.put("date", "2013-01-17");         Pattern p = Pattern.compile("<%=(\\w+?)%>");         String str = "<%=date%>, Hello <%=name%>";         Matcher m = p.matcher(str);         StringBuffer sb = new StringBuffer();         boolean result = m.find();         while (result) {             String key = m.group(1);             String value = map.get(key);             m.appendReplacement(sb, value);             result = m.find();         }         m.appendTail(sb);         System.out.println(sb.toString());     } }   php版 <?php     $data = array('name'=>'penngo', 'date'=>'2013-01-17');     function replaceStr($key, $data){         return $data[$key];     }     $str = '<%=date%>, Hello <%=name%>';     $str = preg_replace("/<%=(\w+?)%>/ise", "replaceStr('\\1', \$data)", $str);     echo $str; ?>   js版 <html> <head>     <meta charset="UTF-8">     <script type="text/javascript">     var date = {'name':'penngo', 'date':'2013-01-17'};     var str = '<%=date%>, Hello <%=name%>';     str = str.replace(/<%=(\w+?)%>/g, function($0, $1){         var value = date[$1];         return value;     });www.2cto.com     document.write(str);     </script> </head> <body>      </body> </html>   運行結果輸出: 2013-01-17, Hello penngo

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved