|
| 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,
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.
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
| |
|
|