Avatar billede jwulff Nybegynder
03. maj 2013 - 07:52 Der er 9 kommentarer og
1 løsning

Hvordan udskifter jeg variabler i et tekstfelt med en anden værdi?

Hej

Hvordan udskifter jeg variabler i et tekstfelt med en anden værdi?

Eksempel:
Jeg udfyldet et textarea (name="cMessage") med følgende tekst:

Hej $navn
Nu er der kun $tid dage tilbage.


Hele indholdet af textarea føres videre til næste side:

Her har jeg defineret to variabler, som kalder den korrekte værdi, som skal skiftes ud i textarea:

$cName
$cTime

Mit spørgsmål er så: Hvordan får jeg skiftet $navn og $tid ud med værdierne fra $cName og $cTime?

Pft.
Avatar billede olebole Juniormester
03. maj 2013 - 11:42 #1
<ole>

Det var ikke særlig forståeligt. Prøv igen  =)

/mvh
</bole>
Avatar billede jwulff Nybegynder
03. maj 2013 - 12:47 #2
Jeg udfylde et textarea på min post side:

<textarea name="cMessage">
Hej $navn
nu er der kun $tid dage tilbage
</texarea>

Når jeg så skal sende ovenstående besked, skal den ændres til:

Hej Ole
Nu er der kun 7 dage tilbage

På afsendelsessiden har jeg hentet variablerne:

$cName = Ole
$cTime = 7

De skal så ind i beskeden fra feltet cMessage.

Bedre? :)

/Jacob
Avatar billede olebole Juniormester
03. maj 2013 - 12:57 #3
Nej, det er stadig total tåge - men jeg prøver at gætte:

<textarea name="cMessage">
Hej <?php echo $cName ?>
nu er der kun <?php echo $cTime ?> dage tilbage
</texarea>
Avatar billede jwulff Nybegynder
03. maj 2013 - 13:46 #4
Hej igen

Ikke helt :)

Skal have lavet noget som opfylder:

foreach($users as $user)

-----KRAV - ikke PHP kode
IF variable $navn exist in textarea $_GET["cMessage"] THEN replace with correct name of user $user->uName.

$aMessage = $_GET["cMessage"] and replace variables
-----

{
$mh = Loader::helper('mail');
$mh->setSubject(Config::get('actopic'));

$mh->setBody($aMessage);

$mh->to($user->uEmail, $user->uName);
$mh->from('noreply@concrete5.org');
$mh->sendMail();

echo $user->uEmail .'<br />';
}
Avatar billede michael_stim Ekspert
04. maj 2013 - 22:59 #5
Hvordan ved du det er en variabel?

Går ud fra at din $_GET (havde nok selv brugt $_POST, da der er begrænsning på $_GET) kommer fra en eller anden form med et textarea, men hvor kommer $navn fra?
Avatar billede jwulff Nybegynder
05. maj 2013 - 13:37 #6
Michael

Jeg skal have sendt en mail rundt til x antal brugere. Her sætter jeg en standard tekst op i et tekstfelt, som skal sendes med. I mailen vil jeg gerne have, at den specifikke brugers navn samt antal dage sættes ind i teksten - et vilkårligt sted.

Jeg kunne lige så godt have omdøbt $navn til XyZnavn - det er blot for at indikere, at hvis frasen $navn/XyZnavn eksisterer i teksten, så skal det korrekte navn indsættes. Eftersom ikke alle hedder det samme, vælger jeg at kalde det en variabel :)

/Jacob
Avatar billede michael_stim Ekspert
06. maj 2013 - 11:52 #7
OK, jeg må gætte her:

Hvis du nu har en tekst i dit textarea som f eks ser sådan her ud:

Hej [navn],

Du har fået træningstiden [tid].

Velkommen [navn]

Skulle du kunne bruge:

$navn = "Peter";
$tid = "Mandag 14:30";
$besked = nl2br($_POST['besked']);
$find  = array('[navn]', '[tid]');
$erstat = array($navn, $tid);
$klar_besked = str_replace($find, $erstat, $besked);
Avatar billede jwulff Nybegynder
06. maj 2013 - 22:09 #8
Hej Michael

Perfekt - det var lige den kode, som jeg var ude efter :)

Smid et svar.

/Jacob
Avatar billede michael_stim Ekspert
07. maj 2013 - 09:30 #9
Ellers tak, samler ikke på point. Læg selv et svar og accepter dit eget svar, så spørgsmålet bliver lukket.
Avatar billede jwulff Nybegynder
07. maj 2013 - 10:35 #10
Thx
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

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