我有這個正常工作的正則表達式,但是當我使用包含@的url時,它在@之後沒有任何顯示。我怎麼可以編輯正則表達式來展現完整的URL獲取完整的網址正則表達式
<?php
$regex = "/(https?\:\/\/|\s)[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,4})(\/+[a-z0-9_.\:\;-]*)*(\?[\&\%\|\+a-z0-9_=,\.\:\;-]*)?([\&\%\|\+&a-z0-9_=,\:\;\.-]*)([\!\#\/\&\%\|\+a-z0-9_=,\:\;\.-]*)}*/i";
$url = "http://www.flickr.com/photos/[email protected]/8376411748/in/photostream/";
preg_match_all($regex, $url, $matches);
echo'<pre>';
print_r($matches);
echo '<pre>';
?>
DEMO http://codepad.viper-7.com/oVHcdN
那麼,如果你寫它,那麼你應該知道你必須在某處添加一些'@'...爲了簡單起見,我可以使用'〜https?:// \ S +〜i' – HamZa
@HamZa從某處複製它。我有一個非常小的正則表達式知識。你可以給我看看正則表達式加入@&'〜https?; // \ S +〜i' – Ace
試試這個$ regex =「/(https?\:\/\/| \ s)[a-z0-9- ] +(\ [A-Z0-9 - ] +。)*(\ [AZ] {2,4}。)(\/+ [A-Z0-9 _ \:\; - ] *)*(\ ?[\&\%\ | \ + A-Z0-9 _ =,\ \:\; - 。] *)([\&\%\ | \ + A-Z0-9 _ =,\?:\; \ .- @] *)([\ \#\/\&\%\ | \ + A-Z0-9 _ =,\:\; \ .-] *)} */I「; –