【问题标题】:Java to Php conversionJava 到 PHP 的转换
【发布时间】:2010-10-01 14:54:22
【问题描述】:

我有一个 Java 函数,我需要将其转换为 php。它将 unicode 文本转换为字符。例如输入是

“每个人都有280 sumue340的野心”;

我想用正则表达式替换ue280、ue340为\ue280、\ue340

这是用Java编写的代码

String in = "Every person haveue280 sumue340 ambition";
Pattern p = Pattern.compile("u(\\p{XDigit}{4})");  
Matcher m = p.matcher(in);  
StringBuffer buf = new StringBuffer();  
while(m.find())   
    m.appendReplacement(buf, "" + (char) Integer.parseInt(m.group(1), 16));  
m.appendTail(buf);  
String out = buf.toString();

是否可以转成php

提前致谢

【问题讨论】:

  • 磨光的杵状蛴螬蛴螬的过度配音说服的膨化的磨砂杵塞的手铐等
  • 愚蠢(但正确)的答案:两种语言都是图灵完备的,所以你可以用一种语言做任何事情,你可以用另一种语言做任何事情(至少从高层次的角度来看)。因此,与其问“是否可能”,不如问“我怎么能”……

标签: java php regex


【解决方案1】:

在 PHP 中,将preg_replace() 用于正则表达式功能。

我认为 PHP 的 preg_* 函数不支持冗长的 {XDigit} 表示法,因此您需要使用像 [0-9A-Fa-f] 这样的字符类来表示十六进制数字。

如果您对正则表达式的了解足以理解您已经拥有的代码,那么这应该足以让您入门。

【讨论】:

    【解决方案2】:

    是的,这是可能的。 (我知道我没有发布 PHP 方法,但你问的只是它是否可能)。

    编辑:不需要选择这个作为答案,但是如果有人想要转换一个函数就这么说,不要问是否可能。

    【讨论】:

      猜你喜欢
      • 2011-04-02
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 2021-09-30
      • 2014-04-22
      • 2013-12-22
      • 2015-10-15
      相关资源
      最近更新 更多