1

長いページのテキストから文字列を出力するようにスクリプトを変更していますが、これは魅力的に機能します。唯一の問題は、2 番目のセットが数値のみを出力することです。

<?php
$file = file_get_contents('page.htm'); 
preg_match_all('#<a.*?href="(?:http://)www.site.com/profiles/(?P<id>\d+)[^‌​&gt;]+#msi',$file, $matches); 
$f = fopen("file.txt", "w");
print_r($matches['id']);
fwrite($f, print_r($matches['id'], true));
fclose($f); 

echo "<br><br>";

preg_match_all('#<a.*?href="(?:http://)www.site.com/id/(?P<id2>\d+)[^‌​&gt;]+#msi',$file, $matches2); 
$f = fopen("file.txt", "w");
print_r($matches2['id2']);
fwrite($f, print_r($matches2['id2'], true));
fclose($f); 
?>

一番上のものはそれをすることになっていますが、一番下のものは特殊文字を含むすべての文字を許可する必要があります.何か足りないものや追加する必要があるものはありますか? ありがとうございます!

4

1 に答える 1

1

ま、思いついた。

変化する

'#<a.*?href="(?:http://)www.tf2items.com/id/(?P<id2>\w+)[^‌​&gt;]+#msi'

'#<a.*?href="(?:http://)www.tf2items.com/id/(?P<id2>\d+)[^‌​&gt;]+#msi'

どうやら \w は文字のみ (wtf) で、\d はすべてです

于 2013-04-24T19:36:42.783 に答える