lio*_*r r 2 php replace preg-replace
这让我感到困惑
试图从字符串中删除一个美元符号被证明是不可能的,这里有什么问题?
这是我必须要做的事情:
array(2) { [0]=> string(10) "$18.95" [1]=> string(11) " $17.06" }
Run Code Online (Sandbox Code Playgroud)
这是我试过的
floatval($price[0]);str_replace('$','',$price[0]);ltrim($price[0],'$');floatval(ltrim($price[0],'$'));floatval(preg_replace("/^[^0-9\.]/","",$price[0]))唯一接近的是
floatval(preg_replace('/[^\d\.]/', '', $price[0]))
Run Code Online (Sandbox Code Playgroud)
但它增加了"36"的数字 - 而不是18.95我得到了3618.95
没有什么工作......为什么?
`
Tot*_*oto 10
你说:
floatval(preg_replace('/ [^\d.] /','',$ price [0]))
但它在数字上加了"36" - 而不是18.95我得到了3618.95
在我看来,你$的价值观前面没有一个标志,但这$就是代表$.
为了查看我的猜测是否正确,请在终端而不是浏览器中打印数组.或者查看页面的来源.
在这种情况下,你可以这样做:
$val = preg_replace('/$/', '', $val);
Run Code Online (Sandbox Code Playgroud)
或者,更通才:
$val = preg_replace('/&.*?;/', '', $val);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17051 次 |
| 最近记录: |