So the test case string may be:
http://example.com/?u=ben   Or
http://example.com   I'm trying to remove everything after the last occurrence of a '/' but only if it's not part of the 'http://'. Is this possible!?
I have this so far:
$url = substr($url, 0, strpos( $url, '/'));   But does not work, strips off everything after first '/'.
The substr() and strpos() function is used to remove portion of string after certain character.
To remove the last three characters from a string, we can use the substr() function by passing the start and length as arguments.
You can use strstr to do this. Show activity on this post. The explode is in fact a better answer, as the question was about removing the text before the string.
You must use strrpos function not strpos ;-)
substr($url, 0, strrpos( $url, '/')); 
                        You should use the tool that is designed for this type of job, parse_url
url.php
<?php  $urls = array('http://example.com/foo?u=ben',                 'http://example.com/foo/bar/?u=ben',                 'http://example.com/foo/bar/baz?u=ben',                 'https://foo.example.com/foo/bar/baz?u=ben',             );   function clean_url($url) {     $parts = parse_url($url);     return $parts['scheme'] . '://' . $parts['host'] . $parts['path']; }  foreach ($urls as $url) {     echo clean_url($url) . "\n"; }   Example:
·> php url.php                                                                                                  http://example.com/foo http://example.com/foo/bar/ http://example.com/foo/bar/baz https://foo.example.com/foo/bar/baz 
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With