I'm trying to remove the contents of a variable if it already exists in a string:
$baseurl = "http://mywebsite.ex/";
$b = $baseurl."http://";
$a = $b."http://mywebsite.ex";
if (strpos($a,$b) !== false)
{
echo 'true <br>';
$baseurl = "";
echo $a;
}
But when I test the script I get:
true
http://mywebsite.ex/http://http://mywebsite.ex
I expected the result:
true
http: //mywebsite.ex
Where am I wrong?
I don't know what you are trying to do, but I think you have some logical problems.
Update. OK now I know what you wanted ;), I think @Rizier123: you nailed it.
What you do in you code is:
strpos(): you are asking in this if ( strpos( $a, $b ) !== false )
condition if $b
( http://mywebsite.ex/http:// ) is in $a
( http://mywebsite.ex/http://http://mywebsite.ex )
// this is always true because you concated the string like $a = $b . "http.....
, so $b
is always in $a
Try this and take a look at the output:
$baseurl = "http://mywebsite.ex/";
$b = $baseurl . "http://"; // b looks like http://mywebsite.ex/http://
var_dump( $b );
$a = $b . "http://mywebsite.ex"; // a looks like http://mywebsite.ex/http://http://mywebsite.ex
var_dump( $a);
// strpos: you asking in this condition if $b ( http://mywebsite.ex/http:// ) is in $a ( http://mywebsite.ex/http://http://mywebsite.ex )
// this is always true because you concated the string like $a = $b . "http....., so $b is always in $a
if ( strpos( $a, $b ) !== false ) {
echo 'true <br>';
$baseurl = "";
echo $a;
}