If your goal is to get just the host name, then what you have will already do that. You should not strip off the "www" or the "ftp" because they are entirely different host names. It's true that in the case of cnn.com they go to the same place, but that is not necessarily always true and you can't rely on that.
However, if your goal is to remove "www." or "ftp.", you can do this:
$valueStrip = explode( "//",$value );
$value = str_replace( array( "www.", "ftp." ), "", $valueStrip[1] );
On the other hand, you might have something like "www.somesite.cnn.com". If you just want to remove the "www.", then the above would work. If you still want to be left only with the top- and second-level portions of the domain, then something like this would be better:
$valueStrip = explode( "//",$value );
$parts = explode( ".", $valueStrip[1] );
$value = $parts[ count( $parts ) - 2 ] . "." . $parts[ count( $parts ) - 1 ];
I don't think either of these are a good idea. Instead, I think sticking with the value that you arrive at in your code with $value
is where you should leave it.