/ 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
hvordan gør jeg det
Fra : -=\(Per Nielsen\)=-


Dato : 09-12-01 13:32

Jeg har tænkt på at hivs der er en tekst på en side, så vil jeg gerne prøve
at ha sådanne at hvis jeg skriver text.php?mark=hej

Så skal den markerer alle de ord som er hej, er det mugligt, og hvordan ?

Med Venlig Hilsen Per Nielsen



 
 
Peter Brodersen (09-12-2001)
Kommentar
Fra : Peter Brodersen


Dato : 09-12-01 13:49

On Sun, 9 Dec 2001 13:31:47 +0100, "-=\(Per Nielsen\)=-" <pmn@fedt.dk>
wrote:

>Så skal den markerer alle de ord som er hej, er det mugligt, og hvordan ?

Hvis du selv printer teksten ud vha. noget PHP-script (og har teksten
på den side i fx en variabel), så kan en hurtig løsning være:

<?
// tekst i $indhold
$indhold = str_replace($mark, "<span
style='background-color:#ffff33'>$mark</span>",$indhold);
?>

Ulempen er her, at den ikke tager højde for forskel mellem store og
små bogstaver - samt at indhold inde i tags også kan blive erstattet.
Her forestiller jeg mig dog at $indhold blot indeholder ren tekst.

Man kan evt. gå over og bruge regulære udtryk for at håndtere store og
små bogstaver korrekt. I simple situationer er det ikke noget problem,
omend hvis brugeren bruger specialtegn, der også bruges i regulære
udtryk, vil du kunne risikere at der bliver spyttet fejl ud, såfremt
du ikke sørger for at håndtere de specialtegn. Spørgsmålet er blot, om
det er vigtigt.

<?
// tekst i $indhold
$indhold = preg_replace("/($tekst)/gi","<span
style='background-color:#ffff33'>\\1</span>",$indhold);
?>

--
- Peter Brodersen
24 Days of Crashmas - julekalender:
http://jul.bums.dk/

-=\(Per Nielsen\)=- (09-12-2001)
Kommentar
Fra : -=\(Per Nielsen\)=-


Dato : 09-12-01 22:15

"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:P4JQ7.5678$z4.654094@news000.worldonline.dk...
> On Sun, 9 Dec 2001 13:31:47 +0100, "-=\(Per Nielsen\)=-" <pmn@fedt.dk>
> wrote:
>
> >Så skal den markerer alle de ord som er hej, er det mugligt, og hvordan ?
>
> Hvis du selv printer teksten ud vha. noget PHP-script (og har teksten
> på den side i fx en variabel), så kan en hurtig løsning være:
>
> <?
> // tekst i $indhold
> $indhold = str_replace($mark, "<span
> style='background-color:#ffff33'>$mark</span>",$indhold);
> ?>
>
> Ulempen er her, at den ikke tager højde for forskel mellem store og
> små bogstaver - samt at indhold inde i tags også kan blive erstattet.
> Her forestiller jeg mig dog at $indhold blot indeholder ren tekst.
>
> Man kan evt. gå over og bruge regulære udtryk for at håndtere store og
> små bogstaver korrekt. I simple situationer er det ikke noget problem,
> omend hvis brugeren bruger specialtegn, der også bruges i regulære
> udtryk, vil du kunne risikere at der bliver spyttet fejl ud, såfremt
> du ikke sørger for at håndtere de specialtegn. Spørgsmålet er blot, om
> det er vigtigt.
>
> <?
> // tekst i $indhold
> $indhold = preg_replace("/($tekst)/gi","<span
> style='background-color:#ffff33'>\\1</span>",$indhold);
> ?>

Ved ikke om vi tænker på det samme, for jeg kan ike få det til at virke, så
prøver igen... Nu har jeg bar en sider der hedder test.php og der står dette
er en stor test
Så skal jeg ved hjælp af måske ?mark=stor , så alle ord der hedder "stor"
bliver markeret med med farve...! Please svar hurtigt igen

> - Peter Brodersen
> 24 Days of Crashmas - julekalender:
> http://jul.bums.dk/



Peter Brodersen (10-12-2001)
Kommentar
Fra : Peter Brodersen


Dato : 10-12-01 02:14

On Sun, 9 Dec 2001 22:15:08 +0100, "-=\(Per Nielsen\)=-" <pmn@fedt.dk>
wrote:

>Ved ikke om vi tænker på det samme, for jeg kan ike få det til at virke, så
>prøver igen... Nu har jeg bar en sider der hedder test.php og der står dette
>er en stor test

I mit andet eksempel brugte jeg dog $tekst, hvor jeg skulle have brugt
$mark

Men har du en URL på en side, hvor det fejler, samt lagt en kopi af
kildeteksten op? Ellers er det ikke til at sige hvad, der ikke virker.

--
- Peter Brodersen
24 Days of Crashmas - julekalender:
http://jul.bums.dk/

-=\(Per Nielsen\)=- (10-12-2001)
Kommentar
Fra : -=\(Per Nielsen\)=-


Dato : 10-12-01 10:34


"Peter Brodersen" <professionel@nerd.dk> skrev i en meddelelse
news:I%TQ7.5840$z4.709224@news000.worldonline.dk...
> On Sun, 9 Dec 2001 22:15:08 +0100, "-=\(Per Nielsen\)=-" <pmn@fedt.dk>
> wrote:
>
> >Ved ikke om vi tænker på det samme, for jeg kan ike få det til at virke,

> >prøver igen... Nu har jeg bar en sider der hedder test.php og der står
dette
> >er en stor test
>
> I mit andet eksempel brugte jeg dog $tekst, hvor jeg skulle have brugt
> $mark
>
> Men har du en URL på en side, hvor det fejler, samt lagt en kopi af
> kildeteksten op? Ellers er det ikke til at sige hvad, der ikke virker.

Jeg har min egen Apache server, men den er ikke online, men min fil ser
sådanne ud, og jeg er helt sikker på at det er mig der dummer mig, men har
vist en smule tømmermænd fra igår, så bær over med mig

-test.php-

<?
// tekst i $indhold
$indhold = str_replace($mark, "<span
style='background-color:#ffff33'>$mark</span>",$indhold);
?>
Dette er en test som er meget sjov, fordi hvis det virker så er det bare
dejligt...

-test.php-

det ser jo helt forkert ud ?!?!?!

> - Peter Brodersen
> 24 Days of Crashmas - julekalender:
> http://jul.bums.dk/

Venlig Hilsen Per Nielsen



Kim Emax - ayianapa.~ (14-12-2001)
Kommentar
Fra : Kim Emax - ayianapa.~


Dato : 14-12-01 10:43


"-=(Per Nielsen)=-" <pmn@fedt.dk> skrev

> Jeg har min egen Apache server, men den er ikke online, men min fil ser
> sådanne ud, og jeg er helt sikker på at det er mig der dummer mig, men har
> vist en smule tømmermænd fra igår, så bær over med mig

Don´t drink and code...

> <?
> // tekst i $indhold
> $indhold = str_replace($mark, "<span
> style='background-color:#ffff33'>$mark</span>",$indhold);
> ?>
> Dette er en test som er meget sjov, fordi hvis det virker så er det bare
> dejligt...
>
> -test.php-
>
> det ser jo helt forkert ud ?!?!?!

ja! din tekst er jo slet ikke i $indhold, som tjekkes, vel? Og har du sat
$mark? nej...

Desuden angiver du _første_ gang du spørger at du vil markere "hej", _anden_
gang "stor", ingen af ordene forkommer i din tekst, smart? nej vel? Hold
dig til det samme hele vejen i en tråd, det gør det lidt nemmere for dig
selv (og andre, der hjælper dig

Dette burde virke:

<?
$indhold = "Dette er en test som er meget sjov, fordi hvis det virker så er
det bare
dejligt...";
$mark = "er";

print "Tekst før:<BR>$indhold";

// tekst i $indhold
$indhold = str_replace($mark, "<span
style='background-color:#ffff33'>$mark</span>",$indhold);

print "<P>Tekst efter:<BR>$indhold";
?>

Dette blev så til overs af dit spørgsmål/konstatering: ?!?!

--
Take Care
Kim Emax
http://www.emax.dk
http://www.ayianapa.dk
Køb din vin online på http://www.gmvin.dk,
Danmarks måske mest avancerede VinWebShop




Søg
Reklame
Statistik
Spørgsmål : 177505
Tips : 31968
Nyheder : 719565
Indlæg : 6408554
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste