v5.dk logo
Kom ind og besøg vores Discord Chat-community
Bliv medlem her eller læs mere om Discord her
Kærlighed kan godt købes for penge
- vi elsker nemlig vores kunder :-)

Mere info Køb nu

Premium på v5.dk
v5.dk logo  v5.dk e-learning
Log på med Facebook
  • Log ind på v5.dk
  • Opret bruger
  • Log ind
  • v5.dk Premium
  • v5.dk Premium
  • Hvad siger vores kunder?
  • E-læring for begyndere
  • icon for WordPress 4 e-learning WordPress 4
  • icon for Office 365 e-learning Office 365
  • icon for Microsoft Word e-learning Microsoft Word
  • Bloggen for alle
  • E-læring for nørder
  • icon for PHP-programmering e-learning PHP-programmering
  • icon for iOS Programmering e-learning iOS Programmering
  • icon for Linux Server e-learning Linux Server
  • Bloggen for nørder
  • Arkiverede videoer
  • Fællesskab
  • Forum
  • Idéer og ønsker
  • Markedspladsen
  • v5.dk Premium
  • Gratis webhotel
  • Cloud-servere
  • Om v5.dk
  • Søg på v5.dk
  • Om v5.dk ApS
    • Om virksomheden
    • RSS-feeds og tjenester
    • Driftsmeddelelser
    • Presse-kit
    • Ledige jobs
    • Social Netværk
      • Facebook
      • Twitter
      • Instagram
    • Alt det andet
      • Forretningsbetingelser
      • Ophavsret og Copyright
  • Kontakt kundeservice
  • FAQ og Hjælp
    • Premium og abb.
    • Videoer og Afspiller
    • Forum og Points
    • Cloud-servers
  • Partner/Virksomhed
  • Partner-kanal
v5.dk logo mobile
  • Menu
  • Opret bruger

str_replace

  • v5.dk
  • Forum
  • PHP-programmering
  • str_replace
  • Sidevisninger: 3027 har set dette indlæg
Besvar #0Spørgsmål oprettet af @gjessing | 1600 points
30 points ude 4 indlæg 6 år siden Spørgsmål besvaret
avatar
 

Hej 

Hvis jeg nu vil lave en str_replace altså skifte en tekst ud med en anden - hvordan gør jeg så det.?

jeg kunne rigtigt godt tænke mig at eks skifte teksten "playstation 3" ud med en håndover forklaring om hvad det er - eller hvis man eks skriver "GTA 5"  så kommer der også en "handover" tekst

Dette svar er accepteret af OP og tildelt 15 points
avatar
 
Besvar#1 @dhh Admin svarede for 6 år siden

Hej  gjessing @gjessing   

Alt efter brugen er str_replace i PHP nu meget simpelt bygget op.  I mit eksempel nedenunder kan du se at jeg giver str_replace en tekst. ($gammeltekst) Og efter at den så køre min tekst igennem, spytter jeg den nye tekst ud. ($nytekst)

Jeg håber at det gav dig lidt mere info omkring brugen. Jeg er dog ikke sikker på at det er præcist det du vil have, som i dit eksempel. Men det er præcis sådan at str_replace virker.

Du kan også læse endnu mere (på engelsk) omkring netop str_replace funktionen på PHP's officiele dokumentation: http://php.net/manual/en/function.str-replace.php

<?php

$gammeltekst = "Dette er min tekst med ordet blå inde i."

$nytekst = str_replace("blå", "rød", $gammeltekst);

echo $nytekst // echo'er den nye tekst hvor blå er blevet til rød.

?>

Hvis min kode imod forventning ikke giver dig den fornødene viden, så må du endelig sige til. 

Hav en fortsat god aften. 

Redigeret af dhh @dhh  d. 24.02.2016 kl. 20:25

Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

avatar
 
Besvar#2 @gjessing kommenterede for 6 år siden

ah det ser smart ud

Jeg kan se i min kode står der

echo $ProfilData['html']; 

hvordan kan man så se om brugeren har skrevet ps3, eller blå som du skriver.?

med andre ord , hvordan vil koden her se ud.?

avatar
 
Besvar#3 @simonpedersen Premium kommenterede for 6 år siden

dhh @dhh  's kode vil bare skifte blå til rød, hvis "rød" bliver fundet. Så du behøver ikke lave et check for om teksten er fundet eller ej. 

Ellers skal du bruge: 

$fundet = (strpos($tekst, 'ps3'));
Dette svar er accepteret af OP og tildelt 15 points
avatar
 
Besvar#4 @dhh Admin svarede for 6 år siden

simonpedersen @simonpedersen   Ikke helt rigtigt, jeg søger efter ordet "blå" og erstatter det med "rød". Men du har helt ret i, at du ikke behøver at lave et tjek - for hvis ordet ikke findes, så findes det ikke.

gjessing @gjessing   Jeg har lavet et opdateret (og meget simpelt) forsøg på at skifte mere end bare et enkelt ord ud - også hvis ordet skulle være der flere gange. Jeg håber at det hjælper. 

Koden er blevet kommenteret ud - og burde give dig de informationener du behøver. (Der findes mange måder at gøre lige præcis det du vil på her. Så tag det som et simpelt eksempel.)

<?php

// Eksemepel: Vi leder efter flere muligheder, ikke kun eén - ved hjælp af arrays
// Teksten her er bare dummy data, jeg byggede op for at teste.
$ProfilData['html'] = '<h3>Eksempel på HTML der redigeres med str_replace:</h3>';
$ProfilData['html'] .= '<p>(Hold musen over linksene for at se den redigeret tekst, eller se nedenunder.)</p>';
$ProfilData['html'] .= '<p><a href="#" title="xbox360">XBOX 360</a></p>';
$ProfilData['html'] .= '<p>Beskrivelse: xbox360</p>';
$ProfilData['html'] .= '<p><a href="#" title="ps3">PlayStation 3</a></p>';
$ProfilData['html'] .= '<p>Beskrivelse: ps3</p>';
$ProfilData['html'] .= '<p><a href="#" title="wii">Wii</a></p>';
$ProfilData['html'] .= '<p>Beskrivelse: wii</p>';

// Ord du vil søge efter
$soegeOrd = array(
  'xbox360',
  'ps3',
  'wii'
);

// Beskrivelser du vil benytte i stedet for de søgte ord
$beskrivelser = array(
  'XBOX 360 er en spilkonsol lavet af Microsoft.',
  'PlayStation 3 er en spilkonsol lavet af Sony.',
  'Wii er en spilkonsol lavet af det Japanske Nintendo.'
);

// Vi leder efter xbox/ps3/wii i vores tekst og udskifter det med $beskrivelser
$ProfilData['html'] = str_replace(
  $soegeOrd, // Ord der søges efter
  $beskrivelser, // Erstattes med følgende tekst
  $ProfilData['html'] // Dataen/teksten som der søges i
);

echo $ProfilData['html']; // Skriv den nu redigeret HTML ud

?>

Følgende resultat burde du få:

Redigeret af dhh @dhh  d. 26.02.2016 kl. 08:55

Med venlige hilsner

Daniel H. Hemmingsen (@dhh)

Spørgsmålet er besvaret, men du er altid mere end velkommen til at skrive en kommentar!
avatar
 

Du er ikke logget ind

Du skal være logget ind på v5.dk før du kan benytte vores forum. Det er ganske gratis at oprette en bruger.

Opret en ny gratis bruger Log ind

Følger med i denne tråd

gjessing dhh

Forum kategorier

  • Generelt
  • Guides & Howto84
  • Offtopic / Andet158
  • Microsoft Office
  • Microsoft Word11
  • Microsoft Excel4
  • Microsoft PowerPoint0
  • Web og hjemmesider
  • Wordpress17
  • Operativsystemer
  • Apple Mac OS X14
  • Apple iOS28
  • Microsoft Windows4
  • Linux16
  • Teknologier
  • Netværk og WiFi3
  • Internet-tjenester9
  • Programmering
  • PHP-programmering124
  • iPhone-/Xcode-programmering9

Aktive forum-tråde lige nu

Er det værd at have en "portfolio"-hjemmeside!?
Fejlkode i form af bip-lyde ved opstart af gammel stationær PC
MacBook gået ud ved indsættelse at IPhone SE…
Is Weed Legal in Europe
Buy real passport online|Buy counterfeit money
Chrome Auto Fyld holdt op med at virke
ÆØÅ
Tegne Program
Bygget med af v5.dk
© Copyright 2006-2023 • Forretningsbetingelser • Copyright • Persondata- og Cookiepolitik
v5.dk ApS - Åbogade 15 - 8200 Aarhus N - CVR: 36902833
v5.dk logo
Hej, vi hedder v5.dk og vi laver e-learning på dansk

v5.dk er sat i verden for at gøre teknologi tilgængeligt og anvendeligt for både professionelle og almindelige brugere på alle niveauer.

93 200 555
  Skriv til os
v5.dk bruger cookies til at huske dine indstillinger, livechat samt til statistik
 

Alle vores priser er inkl. moms Sikker SSL-beskyttet forbindelse

Dankort og Visa-Dankort  Visa  Mastercard og Mastercard Junior  Maestro

  • Produkter
  • v5.dk Premium
  • Cloud-servers
  • v5.dk
  • Om v5.dk
  • Kunderne siger
  • Kontakt os
  • Presse
  • Stay updated
  • RSS & tjenester
  • Søg på v5.dk
  • Sitemap