1、JavaScript

function stringformat() {
var args = Array.prototype.slice.call(arguments);
if (args.length == 0) { return '';}
if (args.length == 1) { return args[0]; }
var str = args.shift();
return str.replace(
/\\?\{([^{}]+)\}/g,
function(match, name) {
if (match.charAt(0) === '\\') {
return match.slice(1);
}
return (args[name] === undefined) ? match : args[name];
}
);
} // 返回 my name is Rain Man and age is 28
stringformat('my name is {0} and age is {1}', 'Rain Man', 28, 'an');

2、PHP

function string_format() {
$args = func_get_args();
if (count($args) == 0) { return '';}
if (count($args) == 1) { return $args[0]; }
$str = array_shift($args);
$GLOBALS['OBJ'] = $args;
$str = preg_replace_callback(
'/\\\?{([^{}]+)}/',
function ($matches) {
list($matche, $name) = $matches;
if ($matche[0] === '\\') {
return substr($matche, 1);
}
$obj = $GLOBALS['OBJ'];
return isset($obj[$name]) ? $obj[$name] : $matche;
},
$str
);
$GLOBALS['OBJ'] = NULL;
return $str;
} // my name is Rain Man and age is 28
echo string_format('my name is {0} and age is {1}', 'Rain Man', 28, 'an');

JavaScript & PHP模仿C#中string.format效果的更多相关文章

  1. C#中string.format用法详解

    C#中string.format用法详解 本文实例总结了C#中string.format用法.分享给大家供大家参考.具体分析如下: String.Format 方法的几种定义: String.Form ...

  2. C#中string.Format 用法详解

    这篇文章主要介绍了C#中string.format用法,以实例形式较为详细的讲述了string.format格式化的各种用法,非常具有实用价值,需要的朋友可以参考下 本文实例总结了C#中string. ...

  3. Java 和JavaScript实现C#中的String.format效果

    1.Java实现      /**      * 需要引入com.alibaba.fastjson.1.2.8     * String result2=HuaatUtil.format(templa ...

  4. Java 实现C#中的String.format效果 解决("我是{0},今年了","whaozl") bug

        /**      * 需要引入com.alibaba.fastjson.1.2.8      * 两种调用方式      * String template1="我是{0},今年{1 ...

  5. C#中string.format的格式和用法

    String.Format 方法的几种定义: String.Format (String, Object) 将指定的 String 中的格式项替换为指定的 Object 实例的值的文本等效项. Str ...

  6. C#中string.Format()和ToString()格式化方法

    C#数字格式化输出是我们在编程中经常需要处理的事情,那么这里向你介绍了一些C#数字格式化输出的例子,这样就会方便你来选择和比较,什么方式是比较适合自己项目的. int a = 12345678; C# ...

  7. Lua中string.format占位符的使用

    虽然lua中字符串拼接"string.format"相对于".."消耗较大,但有时为了代码的可读性,项目中还是经常用到"string.format&q ...

  8. JAVA中String.format的用法 格式化字符串,格式化数字,日期时间格式化,

    1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

  9. JAVA中String.format的用法 转16进制,还可以补0

    1.对整数进行格式化:%[index$][标识][最小宽度]转换方式        我们可以看到,格式化字符串由4部分组成,其中%[index$]的含义我们上面已经讲过,[最小宽度]的含义也很好理解, ...

随机推荐

  1. ABP(现代ASP.NET样板开发框架)系列之6、ABP依赖注入

    点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之6.ABP依赖注入 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)” ...

  2. Entity Framework 6 Recipes 2nd Edition(10-3)译 -> 返回结果是一个标量值

    10-3. 返回结果是一个标量值 问题 想取得存储过程返回的一个标量值. 解决方案 假设我们有如Figure 10-2所示的ATM机和ATM机取款记录的模型 Figure 10-2. 一个ATM机和A ...

  3. Win下最爱效率利器:AutoHotKey

    AutoHotkey是一个windows下的开源.免费.自动化软件工具.它由最初旨在提供键盘快捷键的脚本语言驱动(称为:热键),随着时间的推移演变成一个完整的脚本语言.但你不需要把它想得太深,你只需要 ...

  4. Atitit 外包管理规范attilax总结

    Atitit 外包管理规范attilax总结 1. 常见的外包问题2 1.1. 使用了过时的语言与技术2 1.2. 不易扩展的架构,架构落后2 1.3. 使用了小众语言,框架类库,组件等技术,导致维护 ...

  5. Sql Server系列:SQL语句查询数据库中表、视图、存储过程等组成

    1. 查看用户表 select name from sys.tables select name from sys.objects where type='U' select name from sy ...

  6. <a> href属性--记录八

    1.去掉<a>标签的下划线 <ul style=" list-style-type:none; margin:0;color:Gray; font-size:11px;ma ...

  7. ASP.NET MVC5+EF6+EasyUI 后台管理系统(19)-权限管理系统-用户登录

    系列目录 我们之前做了验证码,登录界面,却没有登录实际的代码,我们这次先把用户登录先完成了,要不权限是讲不下去了 把我们之前的表更新到EF中去 登录在Account控制器,所以我们要添加Account ...

  8. RFC4035笔记

    章 节 标题 说明 补充说明 支持级别 1 介绍 1.定义DNSSEC协议修改点2.定义以下概念:已签名域(signed zone)和域签名的要求列表3.描述权威域名服务器为了处理签名域的行为变化4. ...

  9. 模仿东京首页banner轮播,京东新闻上下滚动动画实现(动画实现)

    接着上篇 微信小程序-阅读小程序demo写:http://www.cnblogs.com/muyixiaoguang/p/5917986.html 首页banner动画实现 京东新闻上下动画实现 想着 ...

  10. [Q&A] C1DataGrid 奇葩的 BeginNewRow() 方法

    一.前言 用户千千万,自然需求就千奇百怪都有,某天有人提了这样一个需求: 某个 C1DataGrid 在 ScrollViewer 的底部(使纵向滚动条显示出来),然后当该 C1DataGrid 增加 ...