转换以货币形式收到的价值

时间:2019-03-13 17:42:23

标签: php

我需要一些解决方案,可以打印查询file_get_contents的结果,并且应该仅在括号中显示它。

请参阅:

<?
$value = file_get_contents("url");
echo $value;
?>

echo的值是: document.write('49,90');

对于每个创建的变量,我只需要它返回括号中的内容,即仅返回值。

我尝试过,但是他也删除了逗号。

preg_replace("/[^0-9]/", "",$value);

会有多个具有不同URL的变量。如果有人也知道如何简化这一点,将会有所帮助。

我接受有关使用file_get_contents以外的方法的建议。

3 个答案:

答案 0 :(得分:1)

来自PHP.NET

  

提示:如果不需要正则表达式,可以选择   更快(虽然更简单)的替代方法,例如explode()或str_split()。

所以... explode()版本(PHP 5.4+):

<?php
  $price = explode("'",$value)[1];
?>

或您固定的方式(替换不是数字或逗号的任何内容):

<?php
  $price = preg_replace("/[^0-9,]/", "",$value);
?>

答案 1 :(得分:0)

您可以使用它来获取引号内的值:

preg_match_all("/'(.*?)'/", $content, $matches);

或者没有regepx,经典方式:

$currency = str_replace("document.write('", "", str_replace("');", "", $value));

答案 2 :(得分:0)

如果您的输出格式是固定的,则可以使用sscanf提取值 像

$output = "document.write('49,90');";

$value = sscanf($output, "document.write('%d,%d');");

print_r( $value );

演示:https://repl.it/@technoknol/sscanfINPHP