Avatar billede dank Nybegynder
10. januar 2004 - 21:37 Der er 34 kommentarer og
3 løsninger

matche en tekststreng

hvordan er det nu man matcher

jeg har nu

if ($myres)

og har istedet behov for at matche om $myres indeholder "string"?

Nogen der kan hjælpe`?
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 21:40 #1
if($myres) == 'string'
Avatar billede dank Nybegynder
10. januar 2004 - 21:42 #2
arrrgh :)

Jeg formulerede mig skidt må jeg indrømme... mente

indeholder "string" i $myres, altså også selv $myres=="dette er en string"

noget reg exp?
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 21:51 #3
// Tjekker om den IKKE indholder string:

if(stripos($myres, string) == fall)
http://dk2.php.net/manual/en/function.stripos.php

Kan dette ikke bruges ?
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 21:52 #4
Rettelse:

if(stripos($myres, string) == false)
Avatar billede detox Nybegynder
10. januar 2004 - 21:56 #5
Skal nok være:

if(strpos($myres, 'string') === false) {
// Do your stuff
}
Avatar billede detox Nybegynder
10. januar 2004 - 21:57 #6
stripos() virker jo først fra: 'PHP 5 CVS only'
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 22:00 #7
detox >> hvorfor 3 =
Avatar billede dank Nybegynder
10. januar 2004 - 22:00 #8
"stripos() virker jo først fra: 'PHP 5 CVS only'"

hehe... jeg kører ikke PHP5 på en produktionsmaskine :)
Avatar billede Slettet bruger
10. januar 2004 - 22:01 #9
3 lighedstegn, for ellers er et 0 eller en tom streng også lig med FALSE.
Avatar billede htm Nybegynder
10. januar 2004 - 22:03 #10
if (ereg("string",$myres))
{
  //do something
}
Avatar billede detox Nybegynder
10. januar 2004 - 22:04 #11
jacobclausen -> 3 = tjekker osse typen.
Avatar billede detox Nybegynder
10. januar 2004 - 22:06 #12
Fremgår osse af manualen:
'Use the === operator for testing the return value of this function.'
Avatar billede dank Nybegynder
10. januar 2004 - 22:07 #13
htm> tak..

opretter du svar
Avatar billede htm Nybegynder
10. januar 2004 - 22:10 #14
svar :-)
Avatar billede detox Nybegynder
10. januar 2004 - 22:11 #15
dank -> Absolut ikke mit første valg, strpos() er at foretrække i dette eksempel.
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 22:12 #16
detox >> Men hjælper jo ikke hvis han ikke kører med php5 cvs
Avatar billede dank Nybegynder
10. januar 2004 - 22:13 #17
detox> du skriver selv det er fra PHP 5 CVS ?

Det har jeg ikke på min boks, selv det er mere eller mindre en testboks.
Avatar billede Slettet bruger
10. januar 2004 - 22:13 #18
stripos er PHP5, strpos er ikke
Avatar billede htm Nybegynder
10. januar 2004 - 22:14 #19
som detox siger, man kan også bruge strpos, den er også tilgængelig for php3

hvis det skal være case-insensitive kan man bruge eregi()

men hvis det må være case-sensitive kan man sagtnes bruge strpos()
http://dk2.php.net/manual/en/function.strpos.php
Avatar billede htm Nybegynder
10. januar 2004 - 22:15 #20
strpos()  case-sensitive
stripos() case-insensitive
Avatar billede dank Nybegynder
10. januar 2004 - 22:17 #21
er der en der vil give et eksempel med 'strpos'

Hvorfor er det at fortrække? Hurtigere?

Jeg hæver point, så der er til alle
Avatar billede detox Nybegynder
10. januar 2004 - 22:18 #22
Se: 21:56:41
Avatar billede htm Nybegynder
10. januar 2004 - 22:19 #23
samme funktion som stripos bare hvor den er case-sensitive, så du kan bruge den detox skrev tidligere
Avatar billede dank Nybegynder
10. januar 2004 - 22:19 #24
detox> tak

opretter du også svaR?
Avatar billede detox Nybegynder
10. januar 2004 - 22:24 #25
Ok, ja det er hvert fald dobbelt så hurtigt. ereg() er lidt overkill her ;o)
Avatar billede jakobclausen Nybegynder
10. januar 2004 - 22:32 #26
dank >> Vil lige på pege at jeg allerede 21:51:59 skrev om strpos()
Avatar billede dank Nybegynder
10. januar 2004 - 22:33 #27
hævede fra 30->70 som i må dele

tak til jer alle :)
Avatar billede dank Nybegynder
10. januar 2004 - 22:36 #28
Hvis jeg iøvrigt går således:

if(strpos($myres, 'string') == false) {

så står den og echo'er "0" ud i konsollen indtil en match er fundet?--

Hvorfor det? Kan det slåes fra?
Avatar billede Slettet bruger
10. januar 2004 - 22:36 #29
jakob-> Nej, du brugte netop stripos.
Avatar billede Slettet bruger
10. januar 2004 - 22:38 #30
For det første skal der være 3 lighedstegn, som detox og jeg har forklaret.

For det andet skal vi lige se den omgivende kode også.
Avatar billede dank Nybegynder
10. januar 2004 - 22:43 #31
if(strpos($myres, 'stgreng') == true)

Ser dog ud til at virke - med 2x=, med 3x= virker det ikke :)
Avatar billede Slettet bruger
10. januar 2004 - 22:51 #32
Det er fordi den aldrig vil returnere en ægte TRUE. Enten returnerer den et tal, der angiver positionen, eller også returnerer den en ægte FALSE.

Bemærk, at hvis din søgestreng er på den første plads i $myres, hvil den returnere tallet 0, som ved sammenligning med kun 2 lighedstegn bliver anset for det samme som FALSE. Det er derfor, at man SKAL bruge 3.

if (strpos('hejsa','hej')==FALSE){echo 'Hej';} //Udskriver Hej
if (strpos('hejsa','hej')===FALSE){echo 'Hej';} //Skriver ikke
Avatar billede dank Nybegynder
10. januar 2004 - 22:54 #33
ok.. min streng vil aldrig være i starten af variablen..  om det er ægte true eller ej, betyder det noget?
Avatar billede Slettet bruger
10. januar 2004 - 23:02 #34
Så kan du nøjes med

if(strpos($myres, 'stgreng'))
Avatar billede dank Nybegynder
10. januar 2004 - 23:03 #35
ok mange tak sandbox.

Du blev vist overset mht. point.. vil du have lidt i nyt ? så kan jeg oprette selvstændigt.
Avatar billede Slettet bruger
10. januar 2004 - 23:04 #36
Skidt med det.
Avatar billede dank Nybegynder
10. januar 2004 - 23:08 #37
ok, tak for din hjælp i alle tilfælde :) Skal nok huske dig en anden god gang 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