php preg_match抢了

时间:2010-08-09 00:20:32

标签: php preg-match

<script type="text/javascript"><!-- 
Vertical1_437 = "false-2010";
ShowAdHereBanner1437 =" true";
RepeatAll1437 = "true";
NoFollowAll1437 ="true";
//-->
</script> 

我正试图让2010年的部分脱离假2010年。  我希望它只回应2010年..  谢谢你的帮助。

这是我开始使用并卡住的

<?php
$get2010 = preg_match('/\<!--(.*?)-->/', $get2010, $m);
echo $m[1]; 
?>

哦.. 2010年是一个随机生成的数字......它会改变。

2 个答案:

答案 0 :(得分:0)

preg_match('!Vertical1_437\s*=\s*"\D+(\d+)"!', $get2010, $m);
echo $m[1];

这假定它始终是Vertical1_437的RHS。我还假设您在$get2010中将该HTML代码块作为字符串。

答案 1 :(得分:0)

如果您可以更具体地了解哪些数据是动态的以及什么是静态数据,则可能会有所帮助。如果Vertical1_437和false是静态的并且2010部分是唯一的动态部分,那么这应该起作用:

preg_match{'#(.*Vertical1_437.*false-)(\d{1,4})(.*)#', $get2010, $m);
echo $m[2];

Mine假设“2010”是一个1-4位的数字,您可以在{1,4}部分进行调整。

这应该针对给定的示例执行此操作。如果其他一些文本是动态生成的,那么可能会有一些变化。