久久亚洲中文字幕精品有坂深雪 ,久久夜色精品国产亚洲av,日韩精品亚洲aⅴ在线影院http://www.tkk7.com/pengo/zh-cnFri, 09 May 2025 22:04:29 GMTFri, 09 May 2025 22:04:29 GMT60php、js、java的正則替換文本方式制作模板內(nèi)容輸出http://www.tkk7.com/pengo/archive/2013/01/17/394333.htmlpenngopenngoWed, 16 Jan 2013 17:18:00 GMThttp://www.tkk7.com/pengo/archive/2013/01/17/394333.htmlhttp://www.tkk7.com/pengo/comments/394333.htmlhttp://www.tkk7.com/pengo/archive/2013/01/17/394333.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/394333.htmlhttp://www.tkk7.com/pengo/services/trackbacks/394333.html在制作模板內(nèi)容輸出時(shí),很經(jīng)常會(huì)使用<%=%>之類的占位符,用正則的方式很方便替換這個(gè)內(nèi)容,工作中只接觸到j(luò)ava、php、js,三種語言的簡單的實(shí)現(xiàn)方式:
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;
    });
    document.write(str);
    </script>
</head>
<body>
    
</body>
</html>

運(yùn)行結(jié)果輸出:
2013-01-17, Hello penngo


]]>
js日期處理類http://www.tkk7.com/pengo/archive/2013/01/16/394269.htmlpenngopenngoTue, 15 Jan 2013 17:15:00 GMThttp://www.tkk7.com/pengo/archive/2013/01/16/394269.htmlhttp://www.tkk7.com/pengo/comments/394269.htmlhttp://www.tkk7.com/pengo/archive/2013/01/16/394269.html#Feedback1http://www.tkk7.com/pengo/comments/commentRss/394269.htmlhttp://www.tkk7.com/pengo/services/trackbacks/394269.html/** * 日期處理工具類 */ var DateUtil =&nbs...  閱讀全文

]]>
web三種跨域請(qǐng)求數(shù)據(jù)方法http://www.tkk7.com/pengo/archive/2013/01/11/394103.htmlpenngopenngoFri, 11 Jan 2013 05:19:00 GMThttp://www.tkk7.com/pengo/archive/2013/01/11/394103.htmlhttp://www.tkk7.com/pengo/comments/394103.htmlhttp://www.tkk7.com/pengo/archive/2013/01/11/394103.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/394103.htmlhttp://www.tkk7.com/pengo/services/trackbacks/394103.html以下測試代碼使用php,瀏覽器測試使用IE9,chrome,firefox,safari

<!DOCTYPE HTML>
<html>
<head>
    <meta charset="UTF-8">
    <script type="text/javascript" src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.7.2.min.js"></script>
    <script type="text/javascript" id="loadjson"></script>
    <script type="text/javascript">
    
// 第一種
    // test1.php在服務(wù)器設(shè)置請(qǐng)?jiān)试S跨域(注意:IE9測試不通過)
    $.ajax({
           type: 'POST',
           url: 'http:
//127.0.0.1:8081/test/test1.php',
           data: 'name=penngo',
           dataType: 'json',
           success: 
function(msg){
              $('#json').html(JSON.stringify(msg));
           }
        });

    
/* 
    第二種JSONP:
    在客戶端動(dòng)態(tài)注冊(cè)一個(gè)函數(shù)function test(data),然后將函數(shù)名傳到服務(wù)器,服務(wù)器返回一個(gè)test({json})到客戶端運(yùn)行,這樣就調(diào)用客戶端的function test(data),從而實(shí)現(xiàn)了跨域,jquery已經(jīng)支持jsonp
    
*/
    
// test2.php使用jsonp
    $.ajax({
           type: 'GET',
           url: 'http:
//127.0.0.1:8081/test/test2.php?callback=?',
           data: 'name=penngo',
           dataType: 'jsonp',
           success: 
function(msg){
              $('#jsonp').html(JSON.stringify(msg));
           }
        });

    
/*
    第三種,原理與jsonp類似,web頁面上調(diào)用js文件時(shí)不受跨域影響,
    只要利用<script>標(biāo)簽的src屬性,動(dòng)態(tài)加載js方式就能跨域,該方式為異步,通過testjs()回調(diào)
    
*/
    
var testjs = function(msg){
         $('#js').html(JSON.stringify(msg));
    }
    $('#loadjson')[
0].src = 'http://127.0.0.1:8081/test/test3.php?method=testjs&name=penngo';
    </script>

</head>
<body>
    header跨域:
    <div id="json">
        
    </div>
    <br/>
    jsonp跨域:
    <div id="jsonp">
        
    </div>
    <br/>
    js請(qǐng)求實(shí)現(xiàn)跨域:
    <div id="js">
        
    </div>
</body>
</html>

服務(wù)器端處理
test1.php
<?php
    header("Access-Control-Allow-Origin: *");
    $name = $_REQUEST['name'];
    $result = array('success'=>1, 'name'=>$name);
    echo json_encode($result);
?>

test2.php
<?php
    $callback = $_REQUEST['callback'];
    $name = $_REQUEST['name'];
    $result = array('success'=>1, 'name'=>$name);
    $jsonData = json_encode($result);
    echo $callback . "(" . $jsonData . ")";
?>

test3.php
<?php
    $method = $_REQUEST['method'];
    $name = $_REQUEST['name'];
    $result = array('success'=>1, 'name'=>$name);
    $jsonData = json_encode($result);
    header('Content-type:application/x-javascript');
    echo "$method($jsonData);";
?>



IE9測試,頁面輸出內(nèi)容
header跨域: 
jsonp跨域: 
{"success":1,"name":"penngo"}
js請(qǐng)求實(shí)現(xiàn)跨域: 
{"success":1,"name":"penngo"}
chrome,firefox,safari測試,頁面輸出內(nèi)容
header跨域:
{"success":1,"name":"penngo"}
jsonp跨域:
{"success":1,"name":"penngo"}
js請(qǐng)求實(shí)現(xiàn)跨域:
{"success":1,"name":"penngo"}


]]>
個(gè)人平時(shí)常用的兩種js類寫法http://www.tkk7.com/pengo/archive/2013/01/08/393931.htmlpenngopenngoMon, 07 Jan 2013 16:20:00 GMThttp://www.tkk7.com/pengo/archive/2013/01/08/393931.htmlhttp://www.tkk7.com/pengo/comments/393931.htmlhttp://www.tkk7.com/pengo/archive/2013/01/08/393931.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/393931.htmlhttp://www.tkk7.com/pengo/services/trackbacks/393931.html<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  <html>
  <head>
    <meta http-equiv="content-type" content="text/html;charset=utf-8"/>
    <script type="text/javascript">
    
// 第一種
    var Test1 = function(){
        
var name = "";
        
this.setName = function(username){
            name 
= username;
        }
        
this.getName = function(){
            
return name;
        }
        
this.sayHello = function(){
            
return "Hello " + this.getName();
        }
        
return this;
    }();
    Test1.setName(
"penngo");
    console.log(
"Test1======" + Test1.getName());
    console.log(
"Test1======" + Test1.sayHello());

    
// 第二種
    var Test2 = function(){
        
var name = "";
        
return {
            setName:
function(username){
                name 
= username;
            },
            getName:
function(){
                
return name;
            },
            sayHello:
function(){
                
return "Hello " + this.getName();
            }
        };
    }();
    Test2.setName(
"penngo");
    console.log(
"Test2======" + Test2.getName());
        console.log(
"Test2======" + Test2.sayHello());
    
</script>
  </head>
  <body>
  </body>
  </html>

]]>
CKEDITOR編輯操作數(shù)據(jù)方法http://www.tkk7.com/pengo/archive/2012/09/13/387650.htmlpenngopenngoThu, 13 Sep 2012 09:14:00 GMThttp://www.tkk7.com/pengo/archive/2012/09/13/387650.htmlhttp://www.tkk7.com/pengo/comments/387650.htmlhttp://www.tkk7.com/pengo/archive/2012/09/13/387650.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/387650.htmlhttp://www.tkk7.com/pengo/services/trackbacks/387650.html
<textarea id="content" name="content" cols="" rows="10" style="height:700px;" ></textarea>

初始化
editor = $("#content").ckeditor();
$("#oldcontent").ckeditor({height:300,toolbar:[]});

操作方法
CKEDITOR.instances.oldcontent.setReadOnly(false);
CKEDITOR.instances.content.setData("Pacer");
CKEDITOR.instances.content.insertHtml("<img src=''>");
content為控件的id


]]>
使用電腦攝像頭識(shí)別二維碼http://www.tkk7.com/pengo/archive/2012/09/10/387428.htmlpenngopenngoMon, 10 Sep 2012 15:50:00 GMThttp://www.tkk7.com/pengo/archive/2012/09/10/387428.htmlhttp://www.tkk7.com/pengo/comments/387428.htmlhttp://www.tkk7.com/pengo/archive/2012/09/10/387428.html#Feedback2http://www.tkk7.com/pengo/comments/commentRss/387428.htmlhttp://www.tkk7.com/pengo/services/trackbacks/387428.html要想攝像頭識(shí)別二維碼,需要兩個(gè)基本功能:1、從攝像頭獲取圖像,2、根據(jù)圖片解析出二維碼信息。在上一篇java攝像頭截圖已經(jīng)實(shí)現(xiàn)了攝像頭截圖,只要再加上zxing(或其它能從圖片中解析二維碼的組件),就能從圖像中解析出二維碼,實(shí)現(xiàn)代碼如下:

 1 package com.pengo.capture;
 2 
 3 import javax.swing.JFrame;
 4 import java.awt.BorderLayout;
 5 import java.awt.Dimension;
 6 import java.awt.Graphics2D;
 7 import java.awt.image.BufferedImage;
 8 import java.io.InputStream;
 9 import javax.media.MediaLocator;
10 import javax.swing.JPanel;
11 import javazoom.jl.player.Player;
12 import com.google.zxing.BinaryBitmap;
13 import com.google.zxing.LuminanceSource;
14 import com.google.zxing.MultiFormatReader;
15 import com.google.zxing.Result;
16 import com.google.zxing.common.HybridBinarizer;
17 
18 import net.sf.fmj.ui.application.CaptureDeviceBrowser;
19 import net.sf.fmj.ui.application.ContainerPlayer;
20 import net.sf.fmj.ui.application.PlayerPanelPrefs;
21 public class CameraFrame2 extends JFrame{
22     private static int num = 0;
23     public CameraFrame2() throws Exception{
24         this.setTitle("攝像頭截圖應(yīng)用");
25         this.setSize(480, 500);
26         this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
27         final JPanel cameraPanel = new JPanel();
28         this.getContentPane().setLayout(new BorderLayout());
29         this.getContentPane().add(cameraPanel, BorderLayout.CENTER);
30         ContainerPlayer containerPlayer = new ContainerPlayer(cameraPanel);
31         MediaLocator locator = CaptureDeviceBrowser.run(null);   //彈出攝像頭設(shè)備選擇
32 
33         PlayerPanelPrefs prefs = new PlayerPanelPrefs();
34         containerPlayer.setMediaLocation(locator.toExternalForm(), prefs.autoPlay);
35         
36         new Thread() {
37             public void run() {
38                 while (true) {
39                     try {
40                         Thread.sleep(1000);
41                         Dimension imageSize = cameraPanel.getSize();
42                         BufferedImage image = new BufferedImage(
43                                 imageSize.width, imageSize.height,
44                                 BufferedImage.TYPE_INT_ARGB);
45                         Graphics2D g = image.createGraphics();
46                         cameraPanel.paint(g);
47                         g.dispose();
48                         LuminanceSource source = new BufferedImageLuminanceSource(
49                                 image);
50                         BinaryBitmap bitmap = new BinaryBitmap(
51                                 new HybridBinarizer(source));
52                         Result result;
53                         result = new MultiFormatReader().decode(bitmap);
54                         System.out.println("二維碼====:" + result.getText());
55                         InputStream is = CameraFrame.class.getClassLoader().getResourceAsStream("resource/beep.mp3");
56                         Player player = new Player(is);
57                         player.play();
58                     } catch (Exception re) {
59                         re.printStackTrace();
60                     }
61                 }
62             }
63         }.start();
64     }
65     
66     public static void main(String[] args) throws Exception{
67         CameraFrame2 camera = new CameraFrame2();
68         camera.setVisible(true);
69     }
70 }

最后來張效果圖(本圖僅供參考)


要想識(shí)別效果好點(diǎn),攝像頭像素最好500W以上,
活動(dòng)二維碼簽到、物品掃描,只需扛臺(tái)手提,再加個(gè)高清攝像頭就行了。

]]>
java獲取剪貼板中的鏈接http://www.tkk7.com/pengo/archive/2012/08/30/386577.htmlpenngopenngoThu, 30 Aug 2012 03:59:00 GMThttp://www.tkk7.com/pengo/archive/2012/08/30/386577.htmlhttp://www.tkk7.com/pengo/comments/386577.htmlhttp://www.tkk7.com/pengo/archive/2012/08/30/386577.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/386577.htmlhttp://www.tkk7.com/pengo/services/trackbacks/386577.htmlClipboard clip = Toolkit.getDefaultToolkit()
                        .getSystemClipboard();
                Transferable trans = clip.getContents(this);
                DataFlavor[] flavors = trans.getTransferDataFlavors();
                try {
                    for (DataFlavor cur : flavors) {
                        if (cur.isMimeTypeEqual("text/plain")) {
                            Reader r = (Reader) trans.getTransferData(cur);
                            BufferedReader br = new BufferedReader(r);
                            String src = br.readLine();
                            if (src.startsWith("http://")
                                    || src.startsWith("https://")) {
                                map.put("url", src);
                            }
                            br.close();
                            break;
                        }
                    }
                } catch (Exception e) {
                    System.out.println("===newDownloadInit:" + e.getMessage());
                }

]]>
java php格式化輸出http://www.tkk7.com/pengo/archive/2012/06/12/380626.htmlpenngopenngoTue, 12 Jun 2012 09:22:00 GMThttp://www.tkk7.com/pengo/archive/2012/06/12/380626.htmlhttp://www.tkk7.com/pengo/comments/380626.htmlhttp://www.tkk7.com/pengo/archive/2012/06/12/380626.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/380626.htmlhttp://www.tkk7.com/pengo/services/trackbacks/380626.htmlresult += String.format("%02d", (secs / 3600))

php:
sprintf('%03d', num)


]]>
java攝像頭截圖http://www.tkk7.com/pengo/archive/2012/06/09/380385.htmlpenngopenngoFri, 08 Jun 2012 17:04:00 GMThttp://www.tkk7.com/pengo/archive/2012/06/09/380385.htmlhttp://www.tkk7.com/pengo/comments/380385.htmlhttp://www.tkk7.com/pengo/archive/2012/06/09/380385.html#Feedback2http://www.tkk7.com/pengo/comments/commentRss/380385.htmlhttp://www.tkk7.com/pengo/services/trackbacks/380385.htmlpackage com.pengo.capture;

import java.awt.BorderLayout;
import java.awt.Dimension;
import java.awt.Graphics2D;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
import java.awt.image.BufferedImage;
import java.io.File;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.media.MediaLocator;
import javax.swing.JButton;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.JTextField;
import net.sf.fmj.ui.application.CaptureDeviceBrowser;
import net.sf.fmj.ui.application.ContainerPlayer;
import net.sf.fmj.ui.application.PlayerPanelPrefs;

public class CameraFrame extends JFrame{
    
private static int num = 0;
    
public CameraFrame() throws Exception{
        
this.setTitle("攝像頭截圖應(yīng)用");
        
this.setSize(480500);
        
this.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        
final JPanel cameraPanel = new JPanel();
        
this.getContentPane().setLayout(new BorderLayout());
        
this.getContentPane().add(cameraPanel, BorderLayout.CENTER);
        ContainerPlayer containerPlayer 
= new ContainerPlayer(cameraPanel);
        MediaLocator locator 
= CaptureDeviceBrowser.run(null);   //彈出攝像頭設(shè)備選擇
        
//        MediaLocator locator = null;
//        GlobalCaptureDevicePlugger.addCaptureDevices();
//        Vector vectorDevices = CaptureDeviceManager.getDeviceList(null);
//        if (vectorDevices == null || vectorDevices.size() == 0)
//        {
//            System.out.println("沒有攝像頭===");
//            return;
//        }
//        //選擇第一個(gè)攝像頭設(shè)備
//        for ( int i = 0;  i < vectorDevices.size();  i++ ) 
//        {
//            CaptureDeviceInfo infoCaptureDevice = (CaptureDeviceInfo) vectorDevices.get(i);
//            System.out.println("設(shè)備名===============" + infoCaptureDevice.getName());
//            //選擇第一個(gè)設(shè)備為程序使用,如果存在多個(gè)設(shè)備時(shí),則第一個(gè)可能不是攝像頭
//            locator = infoCaptureDevice.getLocator();
//            break;
//        }

        PlayerPanelPrefs prefs 
= new PlayerPanelPrefs();
        containerPlayer.setMediaLocation(locator.toExternalForm(), prefs.autoPlay);
        
        JPanel btnPanel 
= new JPanel(new BorderLayout());
        
final JTextField path = new JTextField("E:\\camera");
        path.setColumns(
30);
        btnPanel.add(path, BorderLayout.WEST);
        JButton okBtn 
= new JButton("截圖");
        okBtn.addActionListener(
new ActionListener(){
             
public void actionPerformed(ActionEvent e){
                 Dimension imageSize 
= cameraPanel.getSize();
                    BufferedImage image 
= new BufferedImage(imageSize.width,
                            imageSize.height, BufferedImage.TYPE_INT_ARGB);
                    Graphics2D g 
= image.createGraphics();
                    cameraPanel.paint(g);
                    g.dispose();
                    
try {
               
                        String filePath 
= path.getText();
                        File file 
= new File(filePath);
                        
if(file.exists() == false){
                            file.mkdirs();
                        }

                        ImageIO.write(image, 
"png"new File(file.getAbsolutePath() + "/" + num + ".png"));
                        num
++;
                    }
 catch (IOException ex) {
                        ex.printStackTrace();
                       
                    }

             }

        }
);
        btnPanel.add(okBtn, BorderLayout.EAST);
        
this.getContentPane().add(btnPanel, BorderLayout.SOUTH);
    }

    
    
public static void main(String[] args) throws Exception{
        CameraFrame camera 
= new CameraFrame();
        camera.setVisible(
true);
    }

}

附件源碼

]]>
swing程序在任務(wù)欄閃動(dòng)效果實(shí)現(xiàn)http://www.tkk7.com/pengo/archive/2012/05/30/379587.htmlpenngopenngoWed, 30 May 2012 11:47:00 GMThttp://www.tkk7.com/pengo/archive/2012/05/30/379587.htmlhttp://www.tkk7.com/pengo/comments/379587.htmlhttp://www.tkk7.com/pengo/archive/2012/05/30/379587.html#Feedback0http://www.tkk7.com/pengo/comments/commentRss/379587.htmlhttp://www.tkk7.com/pengo/services/trackbacks/379587.html很久沒寫日志了,在窗口不是活動(dòng)窗口時(shí),類似QQ來信息時(shí)在任務(wù)欄的窗口閃動(dòng)效果,實(shí)現(xiàn)代碼,
package com.pengo;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import javax.swing.JFrame;

public class JFrameTest {
    private JFrame frame = null;

    public JFrameTest() {
        frame = new JFrame("Test");
        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        frame.setSize(400, 300);
        frame.setLocationRelativeTo(null);
        frame.setVisible(true);
        frame.addWindowListener(new WindowAdapter() {
            public void windowDeactivated(WindowEvent e) {
                frame.setVisible(true);
            }
        });
    }

    public static void main(String[] args) {
        new JFrameTest();
    }
}


]]>
主站蜘蛛池模板: 国产亚洲精彩视频| 黄色免费在线观看网址| 在线成人a毛片免费播放| 色偷偷噜噜噜亚洲男人| 亚洲精品无码不卡在线播放HE| 久久精品免费电影| 亚洲色精品三区二区一区| 亚洲成a人片在线播放| 人妻免费一区二区三区最新| 亚洲国产精品成人综合久久久 | 国产偷v国产偷v亚洲高清| 亚洲成人免费电影| 精品亚洲成A人在线观看青青| 国产亚洲精品自在久久| 天天摸天天碰成人免费视频| 两个人日本WWW免费版| 亚洲人成色在线观看| 亚洲AV无码精品色午夜果冻不卡 | 精品亚洲视频在线观看| 99在线免费观看视频| 视频一区在线免费观看| 亚洲综合图片小说区热久久| 亚洲精品美女久久久久99小说| 亚洲一区二区三区免费视频| 一个人看的在线免费视频| 亚洲人成7777影视在线观看| 亚洲午夜国产精品无码老牛影视| 好吊妞788免费视频播放| 久久午夜夜伦鲁鲁片免费无码| 国产亚洲精品成人久久网站| 亚洲人成影院77777| 日韩亚洲一区二区三区| 四虎影院永久免费观看| 久久精品免费全国观看国产| 成在人线av无码免费高潮喷水| 国产亚洲视频在线观看| 亚洲毛片基地日韩毛片基地| 亚洲精品无码AV人在线播放| 国产无遮挡色视频免费视频| 嘿嘿嘿视频免费网站在线观看| 人妻免费一区二区三区最新|