/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
test begyndelsen af en streng
Fra : scootergrisen


Dato : 06-01-11 06:42

Hvordan tester jeg om begyndelsen af en streng indeholder noget bestemt ?

$tekst = 'et langt stykke tekst';
if(begyndelse($tekst, 'et langt')){}

Findes der en indbygget funktion i php som kan det ?

Man kan bruge denne kode:
if(substr($url, 0, 8) == 'et langt'){}

Men det jo ikke smart.

 
 
Stefan Kristensen (06-01-2011)
Kommentar
Fra : Stefan Kristensen


Dato : 06-01-11 09:54

> Hvordan tester jeg om begyndelsen af en streng indeholder noget bestemt ?
>
> $tekst = 'et langt stykke tekst';
> if(begyndelse($tekst, 'et langt')){}
>
> Findes der en indbygget funktion i php som kan det ?

strpos? Vær opmærksom på Warning i Return Values
int strpos ( string $haystack , mixed $needle [, int $offset = 0 ] )

Ikke afprøvet, men noget i stil med
if(strpos($tekst, 'et langt') !== false){}



--
Stefan

Martin Larsen (06-01-2011)
Kommentar
Fra : Martin Larsen


Dato : 06-01-11 10:47

Stefan Kristensen wrote:

> Ikke afprøvet, men noget i stil med
> if(strpos($tekst, 'et langt') !== false){}

Nej, det vil også være sandt hvis "et langt" befinder sig længere inde i
strengen.

if(strpos($tekst, 'et langt') === 0){}

Læg mærke til 3 lighedstegn, det er vigtigt da det ellers vil give sandt
hvis strengen slet ikke findes.

scootergrisen (06-01-2011)
Kommentar
Fra : scootergrisen


Dato : 06-01-11 19:31

> if(strpos($tekst, 'et langt') === 0){}

Tak det ser ud til at virke fint.
Så fandt jeg også stripos() som er caseinsensitive som jeg også have
ville have så det bare super.

Tak for hjælpen.

Martin Larsen (06-01-2011)
Kommentar
Fra : Martin Larsen


Dato : 06-01-11 10:45

scootergrisen wrote:

> Man kan bruge denne kode:
> if(substr($url, 0, 8) == 'et langt'){}
>
> Men det jo ikke smart.

Hvorfor er det ikke smart?

Du kan evt. brug regex, men det er overkill til denne opgave.

scootergrisen (06-01-2011)
Kommentar
Fra : scootergrisen


Dato : 06-01-11 19:27

Den 06-01-2011 10:44, Martin Larsen skrev:
> scootergrisen wrote:
>
>> Man kan bruge denne kode:
>> if(substr($url, 0, 8) == 'et langt'){}
>>
>> Men det jo ikke smart.
>
> Hvorfor er det ikke smart?
>
> Du kan evt. brug regex, men det er overkill til denne opgave.

Det er ikke smart fordi jeg skal skrive 8 for at angive hvor mange tegn
der skal være.
Jeg har også noget andet kode med længere strenge også skal jeg sidde og
tælle... 1.2.3.4.5.6......50 tegn og skrive 0, 50.

Sune Storgaard (06-01-2011)
Kommentar
Fra : Sune Storgaard


Dato : 06-01-11 19:33

Den 06-01-2011 19:27, scootergrisen skrev:

> Det er ikke smart fordi jeg skal skrive 8 for at angive hvor mange tegn
> der skal være.
> Jeg har også noget andet kode med længere strenge også skal jeg sidde og
> tælle... 1.2.3.4.5.6......50 tegn og skrive 0, 50.

Lad strlen tælle for dig ?
http://php.net/manual/en/function.strlen.php

Søg
Reklame
Statistik
Spørgsmål : 177422
Tips : 31962
Nyheder : 719565
Indlæg : 6407883
Brugere : 218876

Månedens bedste
Årets bedste
Sidste års bedste