抓斗内卷曲

问题描述:

我卷曲,得到如下结果:抓斗内卷曲

echo $contents 

,给了我这样的:

<td class="fomeB1" >Balance: $ 1.02</td> 

$13.32 fee 
$15.22 fee 2 

如何我只是抢1.02 - 在$后和前面的一切</td>

我想通过PHP剥离这一点,并把资金投入到变量$平衡....

任何形式的帮助我都可以得到,非常感谢!

+0

很肯定卷曲是从网页 – lemondrop 2013-04-11 04:54:13

是你可以使用你想要的东西

preg_match("/(?<=Balance:).*?(?=<)/", "<td class='fomeB1'>Balance: $ 1.02</td>", $match); 
print_r(str_replace("$"," ",$match)); 

// Prints: 
Array 
(
    [0] => 1.02 
) 
+1

我认为他想要实际值1.02到数组中。 – bestprogrammerintheworld 2013-04-11 05:05:08

这可能是做这件事的好方法......但

$pieces = explode("$ ", $contents); 
$pieces = explode("</td>", $pieces[1]); 
$balance = $pieces[0]; 

或者你可以使用正则表达式。事情是这样的:

\$\s\d+.{1}\d+ 

您可以测试正则表达式的位置:RegExpPal

可以使用的preg_match()来解析使用正则表达式的平衡。 preg_match()

+0

获取数据谢谢你的帮助,但如果我有超过$以上在那个页面上...我们可以在它前面找到那些字平衡的人吗? – thevoipman 2013-04-11 04:58:48

+0

与一个正则表达式呀 – 2013-04-11 04:59:26

+0

我不够聪明了解如何/如何处理正则表达式,你能请求提供者更多的指导吗? – thevoipman 2013-04-11 05:05:08

基本上现在你有一个字符串

$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: 试试这个,如果爆炸的作品为一个字符串它应该工作:

$pieces = explode("Balance: $ ", $str); 
$pieces = explode("</td>", $pieces[1]); 
$balance = $pieces[0]; //1.02 
+0

是的,但我在同一页上有多个“$”......但只有一个余额为 – thevoipman 2013-04-11 04:59:44

+0

,那么您是否知道平衡的位置呢?如果它总是您想要的第一个'$'? – 2013-04-11 05:00:46

+1

我已经更新了上面的问题...我想要的$总是有余额:在它前面....其他人没有“余额:”字样 – thevoipman 2013-04-11 05:03:11

$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