Preg_match_all只输出Numbers。我也需要信件

时间:2013-04-24 19:08:34

标签: php preg-match-all

我正在修改脚本以从长文本页面输出字符串,这就像魅力一样,唯一的问题是第二个集合只会输出数字。

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

最上面一个应该这样做,但是底部需要允许包括特殊字符的所有字符,是否有遗漏或我需要添加的东西?万分感谢!

1 个答案:

答案 0 :(得分:1)

好吧,明白了。

更改

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

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

显然\ w只是字母(wtf)而\ d是一切