我需要一些解决方案,可以打印查询file_get_contents
的结果,并且应该仅在括号中显示它。
请参阅:
<?
$value = file_get_contents("url");
echo $value;
?>
echo
的值是: document.write('49,90');
对于每个创建的变量,我只需要它返回括号中的内容,即仅返回值。
我尝试过,但是他也删除了逗号。
preg_replace("/[^0-9]/", "",$value);
会有多个具有不同URL的变量。如果有人也知道如何简化这一点,将会有所帮助。
我接受有关使用file_get_contents
以外的方法的建议。
答案 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 );