Avatar billede andersthingholm Nybegynder
17. januar 2005 - 18:10 Der er 9 kommentarer og
1 løsning

Split streng

Hejsa,

Hvis jeg har nogle strenge som denne:

anders@thingholm.dk
anders@thingholm.dk#XXX#
test@thingholm.dk

Hvordan tjekker jeg om der er #XXX# på tilsidst og hvis det er tilfældet returnerer værdien i en ny variabel?

VH

Anders Thingholm
Avatar billede neocron Nybegynder
17. januar 2005 - 19:00 #1
Et eksempel:

<?php

$search_string = "#XXX#"; // dette skal vi lede efter
$str = "kas asjad asjd#XXX#"; // dette er strengen, der søges i - prøv at fjerne #XXX# og se hvad der sker

if(strstr(substr($str, strlen($str)-5, 5), $search_string))
{
    echo "Strengen $search_string blev fundet!";
    $ny_variabel = $str; // $str bliver gemt i en ny variabel
}
else
{
    echo "Strengen blev ikke fundet...";
}
?>
Avatar billede neocron Nybegynder
17. januar 2005 - 19:02 #2
Bemærk, at hvis du vil være ligeglad med om der står #xXx#, #xxx#, #XXX# eller whatever til sidst (case-sensitive), så udskifter du bare

if(strstr(substr($str, strlen($str)-5, 5), $search_string))

med

if(stristr(substr($str, strlen($str)-5, 5), $search_string))

stristr er nemlig ligeglad med om det er store eller små bogstaver, det er strstr ikke.
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 21:49 #3
Hej igen,

Det ser ikke ud til at virke helt...

    $search_string1 = "#SERIE_DMA#"; // dette skal vi lede efter
    $search_string2 = "#SERIE_QUAD#"; // dette skal vi lede efter
    $str = $row[tilmeldingsemail]; // dette er strengen, der søges i - prøv at fjerne #XXX# og se hvad der sker

$txt = "standard tekst";


    if (stristr(substr($str, strlen($str)-5, 5), $search_string1)) {
            echo "1Strengen $search_string blev fundet!";
            //$ny_variabel = $str; // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet DMA løb";
   
    }
    else if (stristr(substr($str, strlen($str)-5, 5), $search_string2)) {
            echo "2Strengen $search_string blev fundet!";
            //$ny_variabel = $str; // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet QUAD løb";
   
    }   

    echo $txt;
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 21:57 #4
Ahh, my badd - lige lidt med tallene
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 22:02 #5
Jeg synes ikke at den gemmer formRecipient inde i de 2 løkker...

********************

    $search_string1 = "#SERIE_DMA#"; // dette skal vi lede efter
    $search_string2 = "#SERIE_QUAD#"; // dette skal vi lede efter
    $str = $row[tilmeldingsemail]; // dette er strengen, der søges i - prøv at fjerne #XXX# og se hvad der sker
    $formRecipient = $row[tilmeldingsemail];

    echo $str."<br><br>";
    $txt = "sdsdfsdfsdfsdf


    if (stristr(substr($str, strlen($str)-11, 11), $search_string1)) {
            echo "Strengen $search_string blev fundet!";
            $formRecipient = $str; // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet DMA løb";
   
    }
    else if (stristr(substr($str, strlen($str)-12, 12), $search_string2)) {
            echo "Strengen $search_string blev fundet!";
            $formRecipient = $str; // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet QUAD løb";
   
    }   

    echo $txt;
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 22:03 #6
$formRecipient skal jo ikke indeholde søgestrengen, hvis den bliver fundet...
Avatar billede neocron Nybegynder
17. januar 2005 - 22:07 #7
Nu har jeg ikke lige grundigt gennemgået koden, men mangler du ikke at lukke $txt?

Hvad er det så helt præcist, at formRecipient skal indeholde?
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 22:50 #8
Hej igen, txt var lukket, men blev klippet væk.

$row[tilmeldingsemail] kan være enten en emailadresse eller en emailadresse med en streng bag på. Hvis der er en streng bag på skal den vise en bestemt tekst for derefter at returnere emailadressen uden strengen.
Avatar billede andersthingholm Nybegynder
17. januar 2005 - 23:01 #9
Løste den med:

    if (stristr(substr($str, strlen($str)-11, 11), $search_string1)) {
           
            $formRecipient = substr($str, 0, strlen($str)-11); // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet DMA løb";
   
    }
    else if (stristr(substr($str, strlen($str)-12, 12), $search_string2)) {
           
            $formRecipient = substr($str, 0, strlen($str)-12);; // $str bliver gemt i en ny variabel
            $txt = "Her kommer teksten for en serieforbundet QUAD løb";
   
    }
Avatar billede neocron Nybegynder
17. januar 2005 - 23:15 #10
Ah det er godt. Jeg havde misforstået hvad det var, du ville have gemt så. Det var godt, du selv kunne løse det så!
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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