PHP替换部分字符串时

时间:2014-03-19 13:42:41

标签: php replace

我一直在搜索,但还没有找到答案,我的问题是, 如何构建一些像这样工作的代码(在PHP中):

$a = "hello my worth is 488,39€ and less"; 
$b = "€"; 
$c = var;
if($a contains $b (plus the value of numbers that's infront of $b as $c))
    delete $c from $a and SELECT * FROM table WHERE c LIKE $c AND c < $c;

希望有人能回答我的问题,多次使用regax&amp; str_replace函数,

编辑: 是的,该字符串可能包含的数字超过&#39; 488,39€&#39;,该字符串也可能包含1.5或-3等数字。

我的意思是$ b作为$ c: $ b只是欧元符号,没有任何数字,但我想要的是数字,只有一个单词中的#34;&#34;与欧元符号+欧元符号。并且该输出应声明为值$ c。

这样我就可以用&#34;€&#34;删除号码。来自我的字符串,稍后将其用于mysql。

顺便说一句:如果$ a有点像&#34;你好,我是1.4,我的价值是488,39€,我的颜色是-1&#34;应该只输出=&#34; 488,39€&#34;

1 个答案:

答案 0 :(得分:0)

我理解你的问题是如何提取描述“说话人”价值的货币的数值。

在这种情况下,$ a是'声明',$ b是货币符号,$ match是'值':

$a = "hello my 12 worth is 488,39€ and less"; 
$b = "€"; 
preg_match("/[0-9\.\,]+(?=$b)/u",$a,$matches);
if (count($matches) === 1)
    echo "SELECT * FROM TABLE WHERE something < '$matches[0]'".PHP_EOL;

假设只能处理一个值。