我卷曲并得到以下信息:
echo $contents
这给了我这个:
<td class="fomeB1" >Balance: $ 1.02</td>
$13.32 fee
$15.22 fee 2
我如何抓住 1.02 - $ 之后和前面的所有内容</td>
我想通过 php 剥离这个并将钱放入变量 $balance....
非常感谢我能得到的任何帮助!
这可能是一种不好的做法......但是
$pieces = explode("$ ", $contents);
$pieces = explode("</td>", $pieces[1]);
$balance = $pieces[0];
或者,您可以使用正则表达式。像这样的东西:
\$\s\d+.{1}\d+
你可以在这里测试正则表达式:RegExpPal
您可以使用 preg_match() 使用正则表达式解析余额。 preg_match()
基本上现在你有一个字符串
$str = '<td class="fomeB1" >Balance: $ 1.02</td>';
我对吗 ?
现在试试这个:
$txt = getTextBetweenTags($str, "td");
echo $txt;//Balance: $ 1.02
现在,使用爆炸:
$pieces = explode($txt,' $ ');
echo $pieces[0]; //Balance:
echo $pieces[1]; //1.02
UPDATE:
试试这个,如果explode适用于字符串,它应该可以工作:
$pieces = explode("Balance: $ ", $str);
$pieces = explode("</td>", $pieces[1]);
$balance = $pieces[0]; //1.02
是的,你可以使用你想要的
preg_match("/(?<=Balance: ).*?(?=<)/", "<td class='fomeB1'>Balance: $ 1.02</td>", $match);
print_r(str_replace("$"," ",$match));
// Prints:
Array
(
[0] => 1.02
)
$str = '<td class="fomeB1" >Balance: $ 1.02</td>';
$r1 = preg_replace('/.*?\$[ ](.*?)<.*/', '\1', $str); //match between after first '$ ' ,and first '<' ;
echo $r1; //1.02
或者
$r2= preg_replace('/^<td class="fomeB1" >Balance\: \$ (.*?)<\/td>$/', '\1', $str); //match between after <td class="fomeB1" >Balance: $ and </td>
echo $r2; //1.02
或更新
$str = ' <td class="fomeB1" >Balance: $ 1.02</td>
$13.32 fee
$15.22 fee 2';
$r1 = preg_replace('/.*?\$[ ](.*?)<.*/s', '\1', $str); //match between after first '$ ' ,and first '<' ;
echo $r1.'<br>'; //1.02