>백엔드 개발 >PHP 튜토리얼 >php、js、java的正则替换文本方式制作模板内容输出_PHP教程

php、js、java的正则替换文本方式制作模板内容输出_PHP教程

WBOY
WBOY원래의
2016-07-14 10:07:541193검색

在制作模板内容输出时,很经常会使用之类的占位符,用正则的方式很方便替换这个内容,工作中只接触到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 map = new HashMap();
        map.put("name", "penngo");
        map.put("date", "2013-01-17");
        Pattern p = Pattern.compile("");
        String str = ", Hello ";
        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版
    $data = array('name'=>'penngo', 'date'=>'2013-01-17');
    function replaceStr($key, $data){
        return $data[$key];
    }
    $str = ', Hello ';
    $str = preg_replace("//ise", "replaceStr('\\1', \$data)", $str);
    echo $str;
?>
 
js版
   
   
    var date = {'name':'penngo', 'date':'2013-01-17'};
    var str = ', Hello ';
    str = str.replace(//g, function($0, $1){
        var value = date[$1];
        return value;
    });www.2cto.com
    document.write(str);
   
    
 
运行结果输出:
2013-01-17, Hello penngo

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/477810.htmlTechArticle在制作模板内容输出时,很经常会使用%=%之类的占位符,用正则的方式很方便替换这个内容,工作中只接触到java、php、js,三种语言的简单...
성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.