it-swarm.com.de

Prüfen Sie, ob die URL einen bestimmten String enthält PHP

Ich möchte wissen, ob in der URL etwas Word vorhanden ist.

Wenn beispielsweise Word-Auto in der URL enthalten ist, wie www.domain.com/car/ oder www.domain.com/car/audi/, würde dies als Echo "Auto ist vorhanden" und wenn nichts vorhanden ist, würden "keine Autos" angezeigt werden. .

82
pisoe

Versuchen Sie so etwas. Die erste Zeile bildet Ihre URL und der Rest prüft, ob er das Wort "Auto" enthält.

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (strpos($url,'car') !== false) {
    echo 'Car exists.';
} else {
    echo 'No cars.';
}
194
digi

Ich denke der einfachste Weg ist:

if (strpos($_SERVER['REQUEST_URI'], "car") !== false){
// car found
}
54
Santi Nunez
$url = " www.domain.com/car/audi/";
if (strpos($url, "car")!==false){
    echo "Car here";
}
else {
   echo "No car here :(";
}

Siehe strpos Handbuch

19
J0HN
if( strpos( $url, $Word ) !== false ) {
    // Do something
}
8
nobody

arbeitete für mich mit php

if(strpos($_SERVER['REQUEST_URI'], 'shop.php') !== false){
echo 'url contains shop';
}
3
Shuhad zaman

strstr gab es damals nicht?

if(strstr($_SERVER['REQUEST_URI'], "car")) {
   echo "car found";
}

Dies muss eine der einfachsten Methoden sein, richtig?

3
Mathijs Segers

Schauen Sie sich die Funktion strpos an:

if(false !== strpos($url,'car')) {
    echo 'Car exists!';
}
else {
    echo 'No cars.';
}
2
Jeff
$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (!strpos($url,'car')) {
    echo 'Car exists.';
} else {
    echo 'No cars.';
}

Das scheint zu funktionieren.

1

Sicher ist das der richtige Weg ....

$url = 'http://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];


if (!strpos($url,'mysql')) {
echo 'No mysql.'; //swapped with other echo statement
} else {
echo 'Mysql exists.';
}

Ansonsten ist die Berichterstattung umgekehrt ...

1
Mikeys4u

Die URL-Parameter werden von einer globalen Variablen namens $_GET empfangen, die tatsächlich ein Array ist. Um zu wissen, ob eine URL einen Parameter enthält, können Sie die Funktion isset() verwenden.

if (isset($_GET['yourparametername'])) {
//The parameter you need is present
}

Anschließend können Sie ein separates Array solcher Parameter erstellen, die Sie an eine URL anhängen müssen. 

Zum Beispiel:

if(isset($_GET['param1'])) {
\\The parameter you need is present
$attachList['param1'] = $_GET['param1'];
}

if(isset($_GET['param2'])) {
$attachList['param2'] = $_GET['param2];
}

Um zu wissen, ob Sie ein ?-Symbol benötigen, zählen Sie dieses Array

if(count($attachList)) {
    $link .= "?";
    // and so on
}

Aktualisieren:

Um zu wissen, ob ein Parameter eingestellt ist, zählen Sie einfach $ _GET

if(count($_GET)) {
     //some parameters are set
}
0
user3131771

Sie können eine .htaccess-Methode ausprobieren, die der Funktionsweise von WordPress ähnelt.

Referenz: http://monkeytooth.net/2010/12/htaccess-php-how-to-wordpress-slugs/

Aber ich bin mir nicht sicher, ob das genau das ist, wonach Sie suchen.

0
chris

sie können diese Funktion als diesen Code Sir verwenden

 if((strpos($_SERVER['REQUEST_URI'],'car') !== false))
        echo'<h3 class=" edit-top">Car Exist</h3>';
    else
        echo'<h3 class=" edit-top">Not</h3>';
0
Adel Abou Elezz
if ( stristr( SITE_Host, 'your site' ) ) {
    $protocol = ( !empty( $_SERVER['HTTPS'] ) && $_SERVER['HTTPS'] == 'on' ) ? 'https://' : 'http://';
    $request = ( !empty( $_SERVER['HTTP_X_ORIGINAL_REQUEST'] ) ) ? $_SERVER['HTTP_X_ORIGINAL_REQUEST'] : $_SERVER['REQUEST_URI'];
    echo $protocol .'your site'. $request;
}
0
derald collado