/ 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
Hvad er koden for [ ] og / ???
Fra : Martin Jensen


Dato : 09-11-02 23:21

Hvad er koden for [ ] og / ???

jeg bruger "preg_replace" !!!

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Thomas Finnerup (10-11-2002)
Kommentar
Fra : Thomas Finnerup


Dato : 10-11-02 11:39

On Sat, 9 Nov 2002 22:20:31 +0000 (UTC), Martin Jensen <martin@twg.dk>
wrote:

> Hvad er koden for [ ] og / ???
>
> jeg bruger "preg_replace" !!!

Jeg er ikke helt sikker på, hvad du mener, men hvad med \[, \] og \/?


- Thomas

Martin Jensen (10-11-2002)
Kommentar
Fra : Martin Jensen


Dato : 10-11-02 20:02

Martin Jensen wrote in dk.edb.internet.webdesign.serverside.php:
> Hvad er koden for [ ] og / ???
>
> jeg bruger "preg_replace" !!!
>
> --
Jeg vil erstatte alle forekomster af f.eks [noget] til f.eks <b>
tag-et...
Til dette bruger jeg preg_replace, se eksempel herunder:
<?php
$besked = preg_replace("[noget]","<b>",$besked);
print($besked);
?>

Men dette virker ikke, da mine [ og ] tags ikke bliver erstattet.
Jeg går ud fra at dette skyldes at jeg skal bruge koden for
tegnene ligesom man f.eks bruger /n til ny linie.
Men jeg kender ikke disse tegn. Jeg gættede selv på at bruge \[
\] og \/ men så melder preg_replace følgende fejl:
"Delimiter must not be alphanumeric or backslash"

..Hvordan skal jeg så erstatte tegnene??

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Peter Brodersen (10-11-2002)
Kommentar
Fra : Peter Brodersen


Dato : 10-11-02 20:35

On Sun, 10 Nov 2002 19:02:13 +0000 (UTC), Martin Jensen
<martin@twg.dk> wrote:

>Til dette bruger jeg preg_replace, se eksempel herunder:
><?php
>$besked = preg_replace("[noget]","<b>",$besked);
>print($besked);
>?>

Der er to problemer. For det første skal dit udtryk omkranses af en
delimiter, fx:

_navn:\s+(.*)_
!navn:\s+(.*)!
/navn:\s+(.*)/
[navn:\s+(.*)]

Alle ovenstående er identiske. Man kan ydermere smide flag bagefter,
fx lave case-insensitive-match:

/navn:\s+(.*)/i

Pointen er så derudover, at dine []'er inde i teksten skal escape's,
fx:

/\[noget\]/

Det giver fx:

$besked = preg_replace('/\[noget\]/',"<b>",$besked);

--
- Peter Brodersen

Niels Andersen (13-11-2002)
Kommentar
Fra : Niels Andersen


Dato : 13-11-02 16:14

Martin Jensen wrote in <aqmafk$nli$1@sunsite.dk>:
> Jeg vil erstatte alle forekomster af f.eks [noget] til f.eks <b>
> tag-et...

Jeg ville nok gøre noget i stil med dette:

$string = preg_replace('_\[noget\](.*?)\[/noget\]_', '<b>$1</b>', $string);

Utestet. :)

På den måde stilles der krav til at tagget skal være afsluttet, før det
bliver til html. Hvis du "oversætter" start og slut uafhængigt af hinanden,
vil det måske se rigtigt ud ved første øjekast, og derfor blive godkendt.
Nogle senere opdager du så måske at footeren på din hjemmeside står med fed
en gang imellem, og så kan det være ret besværligt at finde fejlen.

--
Mvh.

Niels Andersen
(la nels. anersyn.)

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

Månedens bedste
Årets bedste
Sidste års bedste