如果您的目标是仅获取主机名,那么您已经可以做到这一点。您不应该去掉“www”或“ftp”,因为它们是完全不同的主机名。确实,在 cnn.com 的情况下,他们会去同一个地方,但这并不一定总是如此,你不能依赖这一点。
但是,如果您的目标是删除“www”。或“ftp.”,你可以这样做:
$valueStrip = explode( "//",$value );
$value = str_replace( array( "www.", "ftp." ), "", $valueStrip[1] );
另一方面,您可能有类似“www.somesite.cnn.com”的内容。如果您只想删除“www.”,那么上面的方法就可以了。如果您仍然希望只留下域的顶级和二级部分,那么这样的事情会更好:
$valueStrip = explode( "//",$value );
$parts = explode( ".", $valueStrip[1] );
$value = $parts[ count( $parts ) - 2 ] . "." . $parts[ count( $parts ) - 1 ];
我认为这两个都不是一个好主意。相反,我认为坚持你在代码中获得的价值$value
是你应该离开的地方。