我必須在某個字符串在我的代碼是這樣的:我的正則表達式是不正確捕獲組
href="http://mywebsite.com/site/link.php?M=191123&N=34&FL=H&L=7"
我需要搶是/site/
後的一切,所以我用以下代碼嘗試這樣的:
preg_match("/site\/(.*?)(?:\"|')/i", $href, $pmatch);
$params = json_encode($pmatch);
但是,當我回聲$params
,我得到的[]
的價值,所以它不匹配任何團體,它應該有哪些?
編輯
的事情是,我用這個代碼在一個單獨的PHP文件:
$href = 'href="http://mysite/em/site/link.php?M=191123&N=34&FL=H&L=7"';
preg_match("/site\/([^\"']*)/i", $href, $matches);
$params = $matches[1];
echo $params;
並能正常工作?
剛做零或更多匹配時出現了什麼問題? \/site \ /(。*) –
您有'$ href =「http://mywebsite.com/site/link.php?M=191123&N=34&FL=H &L=7";'或'$ href ='一些文字href = http://mywebsite.com/site/link.php?M = 191123&N = 34&FL = H &L=7"';'? – chris85
我的腳本正在做的是通過所有鏈接並替換它們中的值,所以在每次迭代中,這個字符串是'href =「somelink」' – ThePerplexedOne