|
| Replace.. hmmm.. Fra : Bo Dudek |
Dato : 10-10-03 10:32 |
|
Hejsa
Jeg administrerer hjemmesiden for Vejle Kajakklub,
www.vejlekajakklub.dk, som jeg har lavet i php og mysql. På et
tidspunkt fik vi brug for et forum, og da jeg ikke ville opfinde den
dybe tallerken igen, hentede jeg et phpbb forum.
Det fungerer egentlig fint, og jeg har scriptet mig frem til altid at
få vist nyeste indlæg fra forummet på hjemmesidens forside. Dog har
jeg et lille problem:
Når folk bruger de indbyggede funktioner i forummet til f.eks. at
citere andre, så skriver phpbb'et f.eks. [quote dsd="bruger"] osv
osv.. og dette vil jeg IKKE have skal vises på forsiden..
Jeg kunne godt tænke mig at alle citerede tekster skrives med kursiv..
så der skal altså laves en str_replace.. jeg kan bare ikke få mit
hoved til at gennemskue, hvordan det helt præcis skal se ud.
Kig evt. på www.vejlekajakklub.dk på siden 'Velkommen' for at se
hvordan det ser ud.
Mvh
Bo Dudek
www.bodudek.dk
Kind regards
Bo Dudek
www.bodudek.dk
| |
Thomas Lindgaard (10-10-2003)
| Kommentar Fra : Thomas Lindgaard |
Dato : 10-10-03 12:17 |
|
Davs
> Når folk bruger de indbyggede funktioner i forummet til f.eks. at
> citere andre, så skriver phpbb'et f.eks. [quote dsd="bruger"] osv
> osv.. og dette vil jeg IKKE have skal vises på forsiden..
>
> Jeg kunne godt tænke mig at alle citerede tekster skrives med kursiv..
> så der skal altså laves en str_replace.. jeg kan bare ikke få mit
> hoved til at gennemskue, hvordan det helt præcis skal se ud.
Du kan ikke klare det med str_replace - preg_replace er nok et bedre bud.
Noget i retning af
$text = preg_replace("/\[quote dsd=\"\w+\"\](\w+)\[\/quote\]/",
"<em>\\1</em>", $text);
Det skulle i teorien (inde i mit hovede i hvert fald) kunne gøre følgende:
1) Finde [quote dsd="NOGET TEKST"]NOGET MERE TEKST[/quote]
2) Erstatte med "<em>NOGET MERE TEKST</em>"
Det er ganske utestet men måske virker det?
Mvh.
/Thomas
| |
Bo Dudek (10-10-2003)
| Kommentar Fra : Bo Dudek |
Dato : 10-10-03 12:43 |
|
[...]
> $text = preg_replace("/\[quote dsd=\"\w+\"\](\w+)\[\/quote\]/",
>"<em>\\1</em>", $text);
>
min tekst hedder $brodtekst, og jeg fandt ud af, at der f.eks. kunne
stå:
[quote:........]........[/quote]
hvor punktummerne er ukendte karakterer.. jeg prøvede så med:
//$brodtekst =
preg_replace("/\[quote:\"\w+\"\](\w+)\[\/quote\]/","<em>\\1</em>",
$brodtekst); ?>
men det gav ikke helt et resultat.. endnu et bud?
mvh
bo dudek
www.bodudek.dk
Kind regards
Bo Dudek
www.bodudek.dk
| |
Nezar Nielsen (10-10-2003)
| Kommentar Fra : Nezar Nielsen |
Dato : 10-10-03 12:51 |
|
Bo Dudek wrote:
> //$brodtekst =
> preg_replace("/\[quote:\"\w+\"\](\w+)\[\/quote\]/","<em>\\1</em>",
> $brodtekst); ?>
>
> men det gav ikke helt et resultat.. endnu et bud?
det er jo klart hvis du har kommenteret det væk..
$brodtekst = preg_replace("|\[quote:.*?\](.*?)\[/quote]|msi",
'<em>$1</em>', $brodtekst);
--
Mvh. Nezar Nielsen
http://fez.dk/
| |
Bo Dudek (10-10-2003)
| Kommentar Fra : Bo Dudek |
Dato : 10-10-03 17:04 |
|
[...]
>> //$brodtekst =
>> preg_replace("/\[quote:\"\w+\"\](\w+)\[\/quote\]/","<em>\\1</em>",
>> $brodtekst); ?>
>>
>> men det gav ikke helt et resultat.. endnu et bud?
>
>det er jo klart hvis du har kommenteret det væk..
*lol* det har jeg nu ikke i selve scriptet.. ehm..
mvh
bo dudek
www.bodudek.dk
| |
Bo Dudek (11-10-2003)
| Kommentar Fra : Bo Dudek |
Dato : 11-10-03 11:31 |
|
[...]
for en god ordens skyld skal jeg lige nævne, at jeg nu har pillet lidt
i det, så jeg har:
<? $brodtekst =
preg_replace("/\[quote:\"\w+\"\](\w+)\[\/quote:\"\w+\"\]/","<em>\\1</em>",
$brodtekst); ?>
men det virker stadig ikke..
mvh
bo dudek
www.bodudek.dk
| |
Thomas Lindgaard (13-10-2003)
| Kommentar Fra : Thomas Lindgaard |
Dato : 13-10-03 10:01 |
|
> for en god ordens skyld skal jeg lige nævne, at jeg nu har pillet lidt
> i det, så jeg har:
>
> <? $brodtekst =
> preg_replace("/\[quote:\"\w+\"\](\w+)\[\/quote:\"\w+\"\]/","<em>\\1</em>",
> $brodtekst); ?>
>
> men det virker stadig ikke..
Hvad så med det her?
<?php
$broedtekst = "blablabla [quote: hej med dig]Der var engang en lille hund
med blå ben[/quote] og her står der noget mere";
print "Før: $broedtekst";
print "<br>";
$broedtekst = preg_replace("/\[quote:(.*)?\](.*)?\[\/quote\]/s",
"<em>\\2</em>", $broedtekst);
print "Efter: $broedtekst";
print "<hr>";
print show_source(__FILE__);
?>
Mvh.
/Thomas
| |
|
|