Avatar billede dennism Nybegynder
04. juli 2005 - 15:49 Der er 8 kommentarer og
1 løsning

PHP: test om variabel indeholder

Jeg har følgende if-sætning:

if (basename($_SERVER[REQUEST_URI]) == $link) {
    echo"<strong>";
}

Denne bliver kørt, hvis de to variabler er lig hinanden. Men hvordan kan jeg istedet teste, om værdien af "$link" indgår i "basename($_SERVER[REQUEST_URI])"?
Avatar billede fixxxer Nybegynder
04. juli 2005 - 15:50 #1
Avatar billede voirsous Nybegynder
04. juli 2005 - 15:51 #2
f.eks. (hvis jeg forstod spm. korrekt) :)
if(count(explode(basename($_SERVER[REQUEST_URI]),$link))>0) {
Avatar billede dennism Nybegynder
04. juli 2005 - 15:57 #3
Hvis vi f.eks. siger at følgende:
$link = "index.php?p=start";
basename($_SERVER[REQUEST_URI]) = "index.php?p=start&action=nyheder"; //ved godt det er en ukorrekt tildeling ;)

Så vil jeg teste, om værdien af "basename($_SERVER[REQUEST_URI])" indeholder værdien af "$link", hvilket den gør i dette tilfælde.

Hvordan klarer jeg det?
Avatar billede coderdk Praktikant
04. juli 2005 - 18:02 #4
if ( substr( basename($_SERVER['REQUEST_URI']), 0, strlen( $link ) ) == $link ) {
  // ok?
}
Avatar billede coderdk Praktikant
04. juli 2005 - 18:04 #5
eller:

if ( preg_match( '/^' . preg_quote( $link, '/' ) . '/', $_SERVER['REQUEST_URI'] ) )
{
  // ok
}
Avatar billede dennism Nybegynder
04. juli 2005 - 18:34 #6
Coders >>

Jeg bruger dit første forslag.
Jeg har et tilfælde hvor "basename($_SERVER['REQUEST_URI'])" =:
index.php?action=galleri&lib=Cykelløb%202005

og "$link" =:
index.php?action=galleri

Men der er betingelsen ikke sand.
Avatar billede coderdk Praktikant
04. juli 2005 - 18:36 #7
Underligt, for denne skrive "OK!" ud:

<?php

    $rq = 'index.php?action=galleri&lib=Cykelløb%202005';
    $link = 'index.php?action=galleri';
    if ( preg_match( '/^' . preg_quote( $link, '/' ) . '/', $rq ) )
    {
        echo "OK!";
    }

?>


:)
Avatar billede dennism Nybegynder
04. juli 2005 - 18:44 #8
Nu virker den..smider du lige et svar?
Avatar billede coderdk Praktikant
04. juli 2005 - 18:56 #9
yessir :)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester