Avatar billede bentblod Nybegynder
27. december 2004 - 17:59 Der er 9 kommentarer og
1 løsning

Tegn i en tekst

Hej. Nogen der gider lave en function som modtager en tekst og undersøger om der er nogle speciele tegn i den tekst, hvor f.eks. hvis der er punktum med, skal den returne false og hvis der ikke er nogen af de tegn i som ikke må være der, skal den returne true.

De tegn der ikke må være i den, er alle andre tegn end normale bogstaver og tal. Nogen der har lyst til at hjælpe mig med dette?
Avatar billede coderdk Praktikant
27. december 2004 - 18:49 #1
function tegnitekst( $tekst )
{
  return !preg_match( "/[\.æøå]/", $tekst );
}

Hér er punktum og æøp forbudt ;)
Avatar billede coderdk Praktikant
27. december 2004 - 18:50 #2
function tegnitekst( $tekst )
{
  return !preg_match( "/^[a-z0-9]$/", $tekst );
}

Den er nok bedre, passer til det du skrev
Avatar billede bentblod Nybegynder
28. december 2004 - 17:44 #3
Endnu engang mange tak coderdk :) Skal lige kigge lidt på det og se om det opføre sig som jeg havde i tankerne :)
Avatar billede bentblod Nybegynder
28. december 2004 - 20:17 #4
Hmm synes ikke den virker.. Den returner true tilbage ligemeget hvad man sender med. :(
Avatar billede coderdk Praktikant
28. december 2004 - 20:42 #5
Ja, ok sorry, havde glemt et +:

    function tegnitekst( $tekst )
    {
        return !preg_match( "/^[a-z0-9]+$/i", $tekst );
    }

:)
Avatar billede bentblod Nybegynder
28. december 2004 - 20:56 #6
thx den virker som den skal :)
Avatar billede coderdk Praktikant
28. december 2004 - 21:01 #7
(jeg smed et /i i den, så den er ligeglad med store/små bogstaver)
Avatar billede bentblod Nybegynder
28. december 2004 - 21:11 #8
ahh ok, hvad så hvis man skal have den til at finde et enkelt tegn egentlig? som f.eks. @ for at kontrollere om det er en email?
Avatar billede coderdk Praktikant
28. december 2004 - 21:15 #9
Til at checke en email, har jeg en funktion liggende du kan bruge:

    function isValidEmail($address) 
    { 
        $address = trim($address);
        list(,$host) = split('@',$address);
        if (!preg_match('/^[-!#$%&\'*+\\.\/0-9=?A-Z^_`{|}~]+' . // username
            '@' .                                  // 'at'
            '([-0-9A-Z]+\.)+' .                    // domain name(s)
            '([0-9A-Z]){1,6}\.?$/i',                // tld
            $address)) 
        {
            if (preg_match('/^\[(.*)\]$/',$host,$regs))
            {
                $ip = explode('.',$regs[1]);
                $is_ip = 1;
                foreach ($ip as $byte)
                {
                    if (!is_numeric($byte))
                    {
                        $is_ip = 0;
                        break;
                    }
                }
                if ($is_ip)
                {
                    return true;
                }
            }
            return false;
        }
        $host .= '.'; // DNS style address
        return (getmxrr($host,$mxrecords) || checkdnsrr($host,'ANY'));
    } 

:)
Avatar billede bentblod Nybegynder
28. december 2004 - 21:21 #10
ahh mange tak :)
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