Php 为什么这个preg_匹配返回空?
我试图从这个URL获取ID,但它总是返回空的。这是我的密码: 这就是我正在查看的网站上的URL的外观:Php 为什么这个preg_匹配返回空?,php,preg-match,Php,Preg Match,我试图从这个URL获取ID,但它总是返回空的。这是我的密码: 这就是我正在查看的网站上的URL的外观: <b><a href="index.php?page=news&id=32662f87eb22a90d81b2362c6ff458a57643eff1" ?和是特殊字符。您需要在它们之前添加一个\ $pattern = "#<b><a href=\"index\.php\?page=news&id=(.*?)\"#i";
<b><a href="index.php?page=news&id=32662f87eb22a90d81b2362c6ff458a57643eff1"
?
和
是特殊字符。您需要在它们之前添加一个\
$pattern = "#<b><a href=\"index\.php\?page=news&id=(.*?)\"#i";
$pattern=“#$pattern=“#\\s*\您可以使用更简单的模式:/id=(.*)$/
“我正试图从这个URL获取ID…”什么URL?您的示例中没有URL,因此它将始终为空。您确定输入正确吗?我认为输入的atributes比您的正则表达式要多。$openSite正在打开一个包含URL列表的网站,如my RegEx中的,我正在尝试获取所有ID。@AdrianPruss网站上的URL如下:确定吗?如果标记为
$pattern = "#<b><a href=\"index\.php\?page=news&id=(.*?)\"#i";
$pattern = "#\<b\>\s*\<a\s+href\=\"index\.php\?page\=news\&\;id\=([^\"\&]*)#i";
<?php
$openSite = '<b><a href="index.php?page=news&id=32662f87eb22a90d81b2362c6ff458a57643eff1"';
$pattern = "/id=(.*)$/";
preg_match_all($pattern,$openSite,$match);
print_r($match[1])
?>
Array
(
[0] => 32662f87eb22a90d81b2362c6ff458a57643eff1"
)