Php Preg_match_all仅输出数字。我也需要信

Php Preg_match_all仅输出数字。我也需要信,php,preg-match-all,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

我正在修改一个脚本,从一长页文本中输出一个字符串,这就像一个符咒,唯一的问题是第二组将只输出数字

<?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); 
?>

最上面的一个应该这样做,但最下面的一个需要允许所有字符,包括特殊字符,是否缺少什么或需要添加什么?非常感谢

meh,我明白了

改变

'#<a.*?href="(?:http://)www.tf2items.com/id/(?P<id2>\w+)[^‌​>]+#msi'
“#]+#msi”
显然,w是字母(wtf),d是一切,明白了

改变

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

显然,w是字母(wtf),d是一切

我很抱歉,我包含了错误的php文件,我放了一个我正在使用的旧文件。右边的一个现在已连接。如果有一种方法可以让您编写的内容与新的php一起工作,那就太好了!我很抱歉,我包含了错误的php文件,我放了一个我正在使用的旧文件。右边的一个现在已连接。如果有一种方法可以让您编写的内容与新的php一起工作,那就太好了!还有什么我应该用的吗?如果对你有用的话?只是要确保你完全测试了结果(包括预期的正面和负面)。还有什么我应该使用的吗?如果它对你有效的话?只需确保您完全测试了结果(包括预期的正面和负面)。