替换js中函数的参数

  1. import java.util.regex.Matcher;
    import java.util.regex.Pattern;
  2. /**
  3.      * 改变javascript中 iPanel.pageWidgets.create(,,,,)函数的第二个参数
  4.      * @author huangfei
  5.      * @create 2008-11-23 上午11:50:48
  6.      * @since 
  7.      * @param jsFileStr
  8.      * @param modulType 该函数的第一个参数值等于modulType的值时才被改变
  9.      * @param realVaule 改变后的真实值
  10.      * @return
  11.      */
  12.     public String replaceParameterInJs(String jsFileStr,String modulType,String realVaule){
  13. //      modulType="nvodFirst_ad0";
  14.         realVaule="/""+realVaule+"/""//"/"4584891248.htm/"";
  15.         /**
  16.          * regex for: iPanel.pageWidgets.create("nvodFirst_ad0", "ui://nvodFirst_ad0.htm", 3, 0)
  17.          * is:   "(iPanel.pageWidgets.create//(//s*/"([//w|_]*)/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))"; 
  18.          */
  19.         String regex4function = "(iPanel.pageWidgets.create//(//s*/""+modulType+"/"//s*,//s*/"ui://([//w|_|//.]*)/"//s*,[^)]*//))"
  20.         Pattern pattern4function = Pattern.compile(regex4function);
  21.         Matcher matcher4function = pattern4function.matcher(jsFileStr);
  22.         ArrayList realStrList = new ArrayList();
  23.         while(matcher4function.find()){
  24.             String realStr = matcher4function.group(1);
  25.             System.out.println("find relative function:"+realStr);
  26.             String regex4Parameter="/"ui://([//w|_|//.]*)/"";
  27.             Pattern pattern4Parameter = Pattern.compile(regex4Parameter);
  28.             Matcher matcher4Parameter = pattern4Parameter.matcher(realStr);
  29.             realStr=matcher4Parameter.replaceAll(realVaule);
  30.             realStrList.add(realStr);
  31.         }
  32.         matcher4function = pattern4function.matcher(jsFileStr);
  33.         int i = 0;
  34.         while(matcher4function.find()){
  35.             jsFileStr = matcher4function.replaceFirst((String)realStrList.get(i));
  36.             i++;
  37.             matcher4function = pattern4function.matcher(jsFileStr);
  38.         }
  39.         return jsFileStr;
  40.     }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值