2017-06-23 61 views
-3

我试图帮助朋友使用可正常工作的php表单,其中一个变量是'tourny'(这是变量,他们希望参加的比赛以及每个选项的最后几个字符是价格,即安大略省的中西部地区青少年高尔夫 - 。$ 90.00将字符串的最后几个字符传递给新变量

我想能够将这些最后几个字符复制到一个名为$ tcost新变量,我已经试过了命令:

$tcost = substr(tourny, -6); 

以及:

$tcost = substr($_POST[tourny], -6); 

to to $ tcost tourny的最后6个字符 - 我不确定它是否有效,因为当我尝试将其传递给电子邮件发送者时,其余每个变量都在[]中,我已经得到:

您的比赛费用:[$tcost]

但是,当我提交表单,所有发送电子邮件正是 - 为$tcost

没有价值的我不知道如果我的错误是在substr命令或我如何试图将它传递给邮件程序。

我也尝试使用If/Then例程来分配一个基于哪个tourny被选中并且不起作用的成本。

如果任何人有办法,它会工作,请让我知道。我可以通过HTML,但PHP让我有点困惑。

+1

结束之前出现能否请您确认,如果您的字符串具有后句号与否的数值相匹配? '中西部安大略省区青少年高尔夫球 - $ 90.00.'为$ 90.00'为六个字符,但$ 90.00.'为七 – Scuzzy

回答

0

在我看来,这是一个正则表达式的好方案。

这是美元符号后的字符串

// (\$\d+(?:\.\d+)?)$ 

$string = 'Midwestern Ontario District Junior Golf - $90.00'; 
if(preg_match('/\$(\d+(?:\.\d+)?)$/', $string, $matches)) 
{ 
    $cost = $matches[1]; 
    var_dump($cost); // string(5) "90.00" 
} 
相关问题