Phing字符串操作

4

我有一个使用Phing的项目,可以传递一个参数。我希望对这个参数进行简单的字符串操作,例如strtolower()或ucwords()等。你有什么想法呢?

2个回答

12

可以尝试使用 PhpEvaLTask:

<project name="StringTest" default="all" basedir=".">
<target name="stringtest"  description="test">
    <php expression="strtolower(${param})" returnProperty="paramToLower"/>
    <php expression="ucwords(${param})" returnProperty="paramUcwords"/>
    <echo>To lower ${paramToLower}</echo>
    <echo>UcWords ${paramUcwords}</echo>
</target>

使用以下方式运行:

phing -Dparam=BLAH stringtest

输出:

Buildfile: /export/users/marcelog/build.xml

StringTest > stringtest:

字符串测试 > 字符串测试:
  [php] Evaluating PHP expression: strtolower(BLAH)
  [php] Evaluating PHP expression: ucwords(BLAH)
 [echo] To lower blah
 [echo] UcWords BLAH

构建完成


帮了很多忙,但是有一个错误:strtolower(${param}) 应该是 strtolower('${param}')(缺少 ')。你的示例将在 phing stringtest -Dparam="a b.c" 上崩溃。 - ViliusL

2
另一种方法是:
<php function="strtolower" returnProperty="paramToLower">
    <param value="${param}" />
</php>

<php function="ucwords" returnProperty="paramUcwords">
    <param value="${param}" />
</php>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接