Avatar billede mstorgaard Praktikant
25. januar 2006 - 20:50 Der er 18 kommentarer og
2 løsninger

Erstatte ord/tekst på hele siden

Jeg vil gerne have at den automatisk ændrer alle af en bestemt slags ord.

Jeg har hørt man kan gøre det med ob_start og str_replace, men hvordan gør man det?
Avatar billede jakobdo Ekspert
25. januar 2006 - 21:29 #1
På hele siden?
Hvor har du teksten/siden du vil søge igennem?
Avatar billede Slettet bruger
25. januar 2006 - 21:42 #2
Noget ala

ob_start();

indhold

$Buffer = ob_get_contents();

ob_end_flush();

echo str_replace("tag", "hello world", $Buffer);
Avatar billede Slettet bruger
25. januar 2006 - 21:59 #3
Hvis det er gældende for flere variabler / udskrivninger kan du vel ligeså godt fyre det igennem notepad eller ligende og benytte find/replace metoden.

Hvis det er data udtræk fra f.eks. en database, kunne du lave en funktion ala nedenstående, og benytte den før/under din udskrivning.

function my_replace($str) {
    return ereg_replace("foo","bar",$str);
}
Avatar billede mstorgaard Praktikant
25. januar 2006 - 22:05 #4
Jeg har den her kode, som jeg gerne vil have den retter ord i:
<?php
$number = "5";
$category = $_GET['cat'];
include("news/show_news.php");
?>
Avatar billede Slettet bruger
25. januar 2006 - 22:10 #5
Så må vi nok hellere se indholdet af show_news.php
Avatar billede jakobdo Ekspert
25. januar 2006 - 22:10 #6
Hvad vil du have rettet?
Avatar billede mstorgaard Praktikant
25. januar 2006 - 22:24 #7
Altså jeg har tænkt mig at gøre sådan så man kan bruge BB-koder og jeg ville prøve det på den her måde :)
Avatar billede jakobdo Ekspert
25. januar 2006 - 22:28 #8
Så skal du lave noget regexp!
F.eks. noget i denne stil:

<?php
$input = "Hej med dig!";
$output = preg_replace('/\\[b\\](.+?)\\[\/b\\]/', '<b>$1</b>', $input);
echo $output;
?>
Avatar billede mstorgaard Praktikant
25. januar 2006 - 22:29 #9
Men hvordan sætter jeg det sammen med min nuværende kode?
Avatar billede Slettet bruger
25. januar 2006 - 22:39 #10
<?php
$number = "5";
$category = $_GET['cat'];
ob_start();
include("news/show_news.php");
$Buffer = ob_get_contents();
ob_end_flush();

$Buffer= preg_replace('/\\[b\\](.+?)\\[\/b\\]/', '<b>$1</b>', $Buffer);
echo $Buffer;
?>
Avatar billede mstorgaard Praktikant
25. januar 2006 - 22:48 #11
Det virker ikke :S
Avatar billede Slettet bruger
25. januar 2006 - 23:03 #12
Hvad siger den af fejl?
Avatar billede Slettet bruger
25. januar 2006 - 23:04 #13
<?php
$number = "5";
$category = $_GET['cat'];
ob_start();
include("news/show_news.php");
$Buffer = ob_get_contents();
ob_end_clean();

$Buffer= preg_replace('/\\[b\\](.+?)\\[\/b\\]/', '<b>$1</b>', $Buffer);
echo $Buffer;
?>

Sådan der.
Avatar billede mstorgaard Praktikant
26. januar 2006 - 07:14 #14
Fejlen er at den bare ikke retter teksten :)
Avatar billede Slettet bruger
26. januar 2006 - 07:18 #15
<?php
$number = "5";
$category = $_GET['cat'];
ob_start();
include("news/show_news.php");
$Buffer = ob_get_contents();
ob_end_clean();

$Buffer= preg_replace("/\[b\](.+?)\[\/b\]/", '<b>$1</b>', $Buffer);
echo $Buffer;
?>

Det må være mit sidste bud..
Avatar billede mstorgaard Praktikant
26. januar 2006 - 07:47 #16
Nu virker det også :)

Smid et svar
Avatar billede jakobdo Ekspert
26. januar 2006 - 07:51 #17
Svar!
Avatar billede Slettet bruger
26. januar 2006 - 08:39 #18
Jeg prøver også at kaste et svar i din retning.
Avatar billede jakobdo Ekspert
26. januar 2006 - 11:29 #19
Takker for point!
Avatar billede Slettet bruger
26. januar 2006 - 15:26 #20
- Tak for point.
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