1

内部にアンカー タグがある div のブロックがあります。

各アンカータグの href プロパティからプロパティ「sid」の値を抽出するにはどうすればよいですか?

コードデータを取得する方法:

$.getJSON('http://anyorigin.com/get?url=http://www.somesite.com&callback=?', function(data){
        //$('#output').html(data.contents);


 var code = data.contents;

 document.myform.outputtext.value = code

これを試しましたが、 href の値が出力されませんか?

var pattern = /<a href="([^"]+?)">/gi;
code = code.match(pattern);
for (i = 0; i < code.length; i++) {
document.write(code[i].replace(pattern, '<a href="./doit.php?Id=$1&title=$2">$2</a><br />'));
}

コード文字列の例:

<td width=120 valign="top">                     <div style="height:135px;
    border:1px solid #BBBBBB; background:#BBBBBB; margin-left:2px;
    text-align:center; ">
                    <a href="/now/episodes.php?name=path&id=4000&sid=12345&page=0"><img
    border="0" src="http://www.somesite.com/1234.jpg" width="150"
    height="83"></a><br>
                        <font face="Tahoma" size="2"><b>Star Album</b><br/>
                            episode 4
                        </font>             </div>


        </td>
4

2 に答える 2

1

試す:

var url="/now/episodes.php?name=path&id=4000&sid=12345&page=0"

var match = url.match(/sid=(.*)\&/);
alert( match[1] );​
于 2012-12-10T20:49:25.793 に答える
0
<?php
$referenceStr = "<td width=120 valign=\"top\">                     <div style=\"height:135px;
    border:1px solid #BBBBBB; background:#BBBBBB; margin-left:2px;
    text-align:center; \">
                    <a href=\"/now/episodes.php?name=path&id=4000&sid=12345&page=0\"><img
    border=\"0\" src=\"http://www.somesite.com/1234.jpg\" width=\"150\"
    height=\"83\"></a><br>
                        <font face=\"Tahoma\" size=\"2\"><b>Star Album</b><br/>
                            episode 4
                        </font>             </div>


        </td>";

$key = 'sid';   
preg_match('/(?:&|(\?))' . $key . '=[^&]*(?(1)&|)?/i', $referenceStr,$matches);
foreach($matches as $k => $v) $matches[$k] = str_replace(array('&sid=','sid='),'',$v);
print_r($matches);
?>

これがPHPソリューションです。パターンを使用するだけで、JSでも機能します。

JS の場合:

var code = '<td width=120 valign="top"> <div style="height:135px; border:1px solid #BBBBBB; background:#BBBBBB; margin-left:2px; text-align:center; "> <a href="/now/episodes.php?name=path&id=4000&sid=12345&page=0"><img border="0" src="http://www.somesite.com/1234.jpg" width="150" height="83"></a><br> <font face="Tahoma" size="2"><b>Star Album</b><br/> episode 4 </font> </div> </td>';
matchingelements = code.match(/sid\=*(\d*)/ig);
for(i=0;i<code.length;i++){
    document.write(matchingelements[i].replace('&sid=','').replace('sid=',''));
}

これは12345を出力します

于 2012-12-10T20:43:03.390 に答える