【问题标题】:How to multiply the font size in html? ActionScript 3 implemention如何将html中的字体大小相乘? ActionScript 3 实施
【发布时间】:2015-02-10 04:53:30
【问题描述】:

请阅读比较输入和输出的示例。 Defrent 在 size=[Values] 中。怎么换?

input:
"<font size='30'> Head </font><br></br> <font color='#b5fe01' size='50'>Progress:</font>"

我想将所有字体大小乘以 2 并将其替换为原始输入。

output:
"<font size='60'> Head </font><br></br> <font color='#b5fe01' size='100'>Progress:</font>"

谢谢

【问题讨论】:

  • 更具体地说明你想要什么......这真的不清楚
  • 请阅读示例并比较输入、输出。 Defrent 在价值观中
  • @Michal Gabriel 您想修改 swf 中的字体大小(使用 SWFObject 嵌入)吗?
  • @helloflash 不,我有这个 Html 字符串,我可以解析它并替换(除,乘)大小值
  • @Deer-Outdoor.nl 我编辑了。

标签: html actionscript-3 input output font-size


【解决方案1】:

我们应该使用 HTML/XML 处理器来做到这一点...

只使用纯 perl:

#!/usr/bin/perl -i

while(<>){
 s/(<font\s)(.*?)(>)/$1 . repsize($2) . $3 /ge;
 print
}

sub repsize{my $atribs=shift;
  return $atribs =~  s/(size=.)(\d+)/ $1 . $2*2/er;
}

【讨论】:

    【解决方案2】:

    AS3 正则表达式按要求:

    var multiply:Function = function(matched:String, start:String, size:String, index:int, str:String):String
    {
        return start + (2 * int(size)).toString() + "'";
    }
    
    var match:RegExp = /(<font[^>]*size=')(\d+)'/gi;
    var src:String = "<font size='30'> Head </font><br/> <font color='#b5fe01' size='50'>Progress:</font>";
    
    var replaced:String = src.replace(match, multiply);
    

    解释:

    1. multiply - 采用“start”和“size”参数。 “开始”是字体标签先前匹配的部分。这是必需的,因为我们需要知道我们在字体标签中,但我们只想替换大小值。 “size”是实际的尺寸值。

    2. RegExp - 捕获为第一组“'字符,后跟“size='”。第二组是大小的值。匹配在大小值后以“'”结束,不被捕获。 g 代表“全局”,对单个字符串进行多次匹配,i 使匹配不区分大小写。

    这不是一个万无一失的解决方案,但我认为它遵循基本思想并且易于扩展以实现更普遍的使用。

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 2018-12-19
      • 2013-08-03
      • 1970-01-01
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 2013-02-18
      • 1970-01-01
      相关资源
      最近更新 更多