2012-08-15 72 views
-5

我想删除'www。'和'.com'这个字符串'www.example.com'删除www。和.com从字符串使用正则表达式

我想用正则表达式一步完成,但我仍然学习正则表达式。任何有关标志和语法的帮助和解释都将被赞赏,以便我能够理解它在做什么。

+6

为什么新手总是想拿起最重的锤子? – 2012-08-15 23:13:31

+2

请找到一个在线正则表达式教程并参考。在这里,我们并没有真正写出教程 - 我们会帮助您掌握已有的内容。 (更不用说正则表达式在这种情况下当然不是最好的选择) – kapa 2012-08-15 23:15:12

+0

你想只删除'.com'吗?或任何TLD('.fr','.org')? – Tchoupi 2012-08-15 23:15:22

回答

2
echo preg_replace('#^www\.|\.com$#', '', 'www.example.com'); 

开始:

试试这个http://rubular.com/r/MvyPO9ijnQ

但你真的不应该做与正则表达式,并尤其不要在一个一个秋天 - 滑移什么意思。

看看:http://php.net/manual/en/function.parse-url.php(我知道你想通过解析URL来学习正则表达式,但不要)。

+1

供参考:http://en.wiktionary.org/wiki/one_fell_swoop – 2012-08-15 23:22:21

+0

@KendallFrey下降===下降(错误),但是谢谢 – 2012-08-15 23:24:11

+0

@webarto parse_url()函数不会分隔www。和.com域名。字符串“www.domain.com”将显示为路径val。 – csteel 2012-08-16 13:52:50

4

请勿使用正则表达式。有更简单的解决方案可用。从这里

$theString = 'www.stackoverflow.com'; 
$theName = explode('.', $theString)[1]; 
+0

注意:该语法只适用于php 5.4 – 2012-08-16 00:44:18

+0

@KendallFrey这将工作,但我想在一行中做到这一点,以便它干净。感谢您的洞察力!不胜感激! – csteel 2012-08-16 14:17:04

+1

@csteel这是在一行。第一行只是声明一个变量(这很可能会在其他地方得到)。 – 2012-08-16 14:19:24

相关问题