从数据库中的URL中选择特定子域


Select specific subdomain from URL in database

首先,我不确定我的问题应该给出什么正确的标题。请随意更改。

假设我在数据库中有4个URL。

http://joomla.mywebsite.net/3968923121/2412583825325/
http://www.joomla.mywebsite.net.talleresbanfield.com.ar/cadastrar/index.html
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/
http://test.com.datacity.mywebsite.net/images/joomla.mywebsite.net/


如何仅选择此2 URL

http://joomla.mywebsite.net/3968923121/2412583825325/
http://belowel.com.joomla.mywebsite.net/images/6058873435/1432583285194/

根据给定的用户输入CCD_ 1。我可以在SELECT期间使用LIKE %...%,但所有4个URL都将被选中。我只需要显示正确使用joomla.mywebsite.net作为子域的URL。

我想先选择所有URL,将其分配到数组中,然后执行preg_match或regex来进行匹配,但它是否像在选择期间执行单向查询一样有效?

提前谢谢。

你可以试试这样的东西:

SELECT url
FROM t1
WHERE SUBSTRING_INDEX(url,'/',3) LIKE '%joomla.mywebsite.net'

SQLFiddle演示

通过像这样使用SUBSTRING_INDEX,您可以比较字符串的这一部分:

http://joomla.mywebsite.net
http://www.joomla.mywebsite.net.talleresbanfield.com.ar
http://belowel.com.joomla.mywebsite.net
http://test.com.datacity.mywebsite.net

基本上是第三个/ 的URL