1

我有一个非常简单的文本框给用户。

<textarea name="text">ENTER YOUR TEXT, DUDE!</textarea>

有时,用户可以输入如下内容:

blablablatext blablabla $ 10 blablabla blablablatext

这很好,但我想做的是采用美元符号并自动将其放在数字之后(反之亦然):

blablablatext blablabla 10 $ blablabla blablablatext

基本上,我想做的是:

  1. 检测是否有货币符号
  2. 检测数字是否出现在符号之后
  3. 检测,例如,一个字母(或什么都没有)出现在数字之后
  4. 取货币符号并将其放在数字和字母之间(如果之后没有任何内容,则放在数字之后)

最好的方法是什么?这样的事情可能吗?

4

1 回答 1

3

您可能可以将所有这些总结为一个正则表达式:

echo preg_replace('/\$\s*(\d+)(?=\s*[^$])/', '$1\$', $text);

这只是一个简单的即兴示例,匹配一个 $ 可能后跟一些空格,然后是一个数字,可能后跟一些空格而不是另一个 $,并将其替换为[number] $

我建议你学习一些正则表达式

于 2012-11-09T11:11:00.320 回答