看板 RegExp 關於我們 聯絡資訊
php 看了一下網路的範例照著做了一下 $url_array = array(); $url_array[] = 'http://taitung.taitungminsu.com.tw/bnb/holiday.htm'; $url_array[] = '../ok.htm'; $url_array[] = 'http://taitung.taitungminsu.com.tw/bnb/mary.htm'; $url_array[] = 'http://taitung.taitungminsu.com.tw/bnb/gdws.htm'; foreach ($url_array as $url_value) { preg_match('@^(?:http://)?([^/]+)@i',$url_value, $matches); $host = $matches[0].''; echo $host."<br ./>"; } 這樣印出來會是 http://taitung.taitungminsu.com.tw .. http://taitung.taitungminsu.com.tw http://taitung.taitungminsu.com.tw 這個 ../ok.htm 會留下 前面的 .. 要怎麼修改,讓這個 ../ok.htm 不會出來呢 ?? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.198.188.68 ※ 文章網址: http://www.ptt.cc/bbs/RegExp/M.1412486698.A.53C.html
s25g5d4: @^(?:http://)? << 把最後的 ? 拿掉就好了 10/05 17:00
woominin: '@^(?:http://)([^/]+)@i' 變這樣 ? 這樣會有錯 10/05 22:12
s25g5d4: 會抓到 wrong case? 10/06 03:30
jenesis: 用http://[^/]+就夠了吧 10/06 22:13