---
title: "Php echo i echo"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/169859-php-echo-i-echo"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "picky"
published: "2008-03-12T16:16:32.000Z"
updated: "2008-03-12T17:52:39.000Z"
replies: 6
views: 646
page: 1
pages: 1
language: "sv-SE"
site: "webForum — webforum.nu"
rights: "Upphovsrätten till varje inlägg tillhör dess författare."
attribution: "Citera som: webForum, https://www.webforum.nu/amne/php/169859-php-echo-i-echo"
---

# Php echo i echo

## #1 — picky, 2008-03-12T16:16Z

Har nyligen börjat leka med php och har en liten fråga. Ska försöka göra ett enkelt exmpel:
Har en php sida som skriver ut innehållet ur en mysqldb med \<?php echo $text;?\>. 

Om nu $text innehåller vanlig htmlkod så fungerar det ju bra, men om jag vill ha en phpkod i det som hämtas från $text så fungerar det inget vidare. 

Tex om jag vill att $text innehåller lite html med en länk som tex \<a href="/?lang='.$lang.'&id=3"\>Link\</a\>. Det fungerar inte att sätta \<?php echo '\<a href="/?lang='.$lang.'&id=3"\>Link\</a\>'; ?\> i själva $text.

Någon som har bra tips på lösning?

Permalänk: https://www.webforum.nu/p/169859

## #2 — olarsson, 2008-03-12T16:24Z

svar

\<?php echo '\<a href="/?lang=\\'.$lang.\\'&id=3"\>Link\</a\>'; ?\>

Permalänk: https://www.webforum.nu/p/2087758

## #3 — spango, 2008-03-12T16:34Z

Du kan använda [eval](http://www.php.net/manual/en/function.eval.php), men eval är ondskefullt och rekommenderas inte (kan leda till fel som är helt hopplösa att felsöka). Normalt finns det ett bättre sätt att lösa det på. I ditt fall skulle man t.ex. kunna tänka sig att du har en sträng som typ *\<a href="/?lang=%s&id=3"\>Link\</a\>*, och sen stoppar in lämpligt värde med [sprintf](http://www.php.net/manual/en/function.sprintf.php):

```
$text = '<a href="/?lang=%s&id=3">Link</a>';
echo sprintf($text, $lang);
```

Permalänk: https://www.webforum.nu/p/2087760

## #4 — picky, 2008-03-12T17:40Z

> **spango skrev:**
>
> Du kan använda ...

Tusen tack, fungerade perfekt!

Är det någon egentlig nackdel att använda detta kommando i php filen, dvs även när den hämtar $text som inte innehåller %s? Det vore enkelt att bara ersätta  'echo $text' med detta på ett ställe i index.php. Kan tänka mig att det kanske tar lite mer processorkraft.

Permalänk: https://www.webforum.nu/p/2087766

## #5 — olarsson, 2008-03-12T17:41Z

....

Skaffa dig en templatemotor. Den enklaste att använda som jag känner till är bTemplate. <http://www.massassi.com/bTemplate/index.php?page=home>

Permalänk: https://www.webforum.nu/p/2087768

## #6 — picky, 2008-03-12T17:45Z

> **olarsson skrev:**
>
> Skaffa dig en templatemotor. Den enklaste att använda som jag känner till är bTemplate. <http://www.massassi.com/bTemplate/index.php?page=home>

Kanske får titta på den, tänkte iof göra en enkel sida där sidor väldigt sällan läggs till, max en sida per år, så just nu känns det som att det fungerar som det är, har gjort en liten back-end i php där man kan lägga till sidor och redigera med fckeditor, ville lära mig lite innan jag bara tar någon templatemotor.

Lite OT kanske, men vad är skillnaden på en templatemotor och tex joomla? Har jobbat lite med joomla tidigare och det är riktigt smidigt.

Permalänk: https://www.webforum.nu/p/2087769

## #7 — spango, 2008-03-12T17:52Z

> **picky skrev:**
>
> Är det någon egentlig nackdel att använda detta kommando i php filen, dvs även när den hämtar $text som inte innehåller %s?

Du menar sprintf? Ja, visst blir det lite långsammare, men kostnaden bör vara rätt liten i sammanhanget. Glömde f.ö. att *echo sprintf($text, $lang)* är rätt menlöst att säga, man kan anropa funktionen printf som skriver ut direkt (utan omvägen via echo): *printf($text, $lang)*

Permalänk: https://www.webforum.nu/p/2087772

---

Tråden på webben: https://www.webforum.nu/amne/php/169859-php-echo-i-echo
