Heim >Backend-Entwicklung >PHP-Tutorial >请教各位大神改版后的四六级总分怎么用正则表达式获取(旧版的我会获取)

请教各位大神改版后的四六级总分怎么用正则表达式获取(旧版的我会获取)

WBOY
WBOYOriginal
2016-06-23 13:58:201153Durchsuche

这是四六级网站

<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable">	<tr>		<th>姓名:</th>		<td>赵阳</td>	</tr>	<tr>		<th>学校:</th>		<td>长春中医药大学</td>	</tr>	<tr>		<th>考试类别:</th>		<td>英语四级</td>	</tr>	<tr>		<th>准考证号:</th>		<td>220090132112529</td>	</tr>	<tr>		<th>考试时间:</th>		<td>2013年12月</td>	</tr>	<tr>		<th valign="top">总分:</th>		<td valign="top" class="fontBold">        <span class="colorRed">					0		        </span>		        	<br /><span class="color666">听力:</span>							000			            <br /><span class="color666">阅读:</span>						000						            <br /><span class="color666">写作与翻译:</span>						000					</td>	</tr></table>

这是我的代码
$a = curl_exec($ch);			$match="#<td>(.*)</td>#";			//$match="#<span>(.*)</span>#";preg_match_all($match,$a,$b);$yourname= $b[1][0];$school= $b[1][1];$cet= $b[1][2];$c= $b[1][5];//分数$score=strip_tags($c);$score=str_replace(" ","",$score);  		return array('school'=>$school,'name'=>$yourname,'cet'=>$cet,'score'=>$score);

其他的都能获取到  就总分那里获取不到


回复讨论(解决方案)

$a =<<< TXT<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable">    <tr>        <th>姓名:</th>        <td>赵阳</td>    </tr>    <tr>        <th>学校:</th>        <td>长春中医药大学</td>    </tr>    <tr>        <th>考试类别:</th>        <td>英语四级</td>    </tr>    <tr>        <th>准考证号:</th>        <td>220090132112529</td>    </tr>    <tr>        <th>考试时间:</th>        <td>2013年12月</td>    </tr>    <tr>        <th valign="top">总分:</th>        <td valign="top" class="fontBold">        <span class="colorRed">                     0                 </span>                     <br /><span class="color666">听力:</span>                             000                         <br /><span class="color666">阅读:</span>                         000                                      <br /><span class="color666">写作与翻译:</span>                         000                     </td>    </tr></table>TXT;$match="#<t[hd].*?>(.*?)</t[hd]>#is";preg_match_all($match,$a,$b);$b[1][11] = preg_replace('/\s/', '', strip_tags($b[1][11]));print_r($b[1]);
Array
(
    [0] => 姓名:
    [1] => 赵阳
    [2] => 学校:
    [3] => 长春中医药大学
    [4] => 考试类别:
    [5] => 英语四级
    [6] => 准考证号:
    [7] => 220090132112529
    [8] => 考试时间:
    [9] => 2013年12月
    [10] => 总分:
    [11] => 0听力:000阅读:000写作与翻译:000
)

$a =<<< TXT<table border="0" align="center" cellpadding="0" cellspacing="6" class="cetTable">    <tr>        <th>姓名:</th>        <td>赵阳</td>    </tr>    <tr>        <th>学校:</th>        <td>长春中医药大学</td>    </tr>    <tr>        <th>考试类别:</th>        <td>英语四级</td>    </tr>    <tr>        <th>准考证号:</th>        <td>220090132112529</td>    </tr>    <tr>        <th>考试时间:</th>        <td>2013年12月</td>    </tr>    <tr>        <th valign="top">总分:</th>        <td valign="top" class="fontBold">        <span class="colorRed">                     0                 </span>                     <br /><span class="color666">听力:</span>                             000                         <br /><span class="color666">阅读:</span>                         000                                      <br /><span class="color666">写作与翻译:</span>                         000                     </td>    </tr></table>TXT;$match="#<t[hd].*?>(.*?)</t[hd]>#is";preg_match_all($match,$a,$b);$b[1][11] = preg_replace('/\s/', '', strip_tags($b[1][11]));print_r($b[1]);
Array
(
    [0] => 姓名:
    [1] => 赵阳
    [2] => 学校:
    [3] => 长春中医药大学
    [4] => 考试类别:
    [5] => 英语四级
    [6] => 准考证号:
    [7] => 220090132112529
    [8] => 考试时间:
    [9] => 2013年12月
    [10] => 总分:
    [11] => 0听力:000阅读:000写作与翻译:000
)


但$a里的内容应该是变化的啊

内容是变化的,格式是固定的
否则就无所谓“采集”了

内容是变化的,格式是固定的
否则就无所谓“采集”了


现在有个问题最后一行?>报错
我把你这个
$match="#(.*?)[hd]>#is";
转义了还是报错
Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn