---
title: "Få htmlentities att hoppa över vissa taggar?"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/129721-få-htmlentities-att-hoppa-över-vissa-taggar"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "aasah"
published: "2005-06-09T09:49:52.000Z"
updated: "2005-06-09T15:47:36.000Z"
replies: 6
views: 306
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/129721-få-htmlentities-att-hoppa-över-vissa-taggar"
---

# Få htmlentities att hoppa över vissa taggar?

## #1 — aasah, 2005-06-09T09:49Z

Jag funderar på att sätta ihop en gästbok. Jag vill att man ska kunna få fet, kursiv och understruken text, samt att "\<br\>" ska funka. Däremot vill jag att ev andra taggar ska ersättas enligt htmlentities vid utskriften på skärmen.

Finns det något smidigt sätt att fixa detta? Eller får man ersätta dessa taggar med tex \[.\] (som de flesta communities gör), köra htmlentities först, och översätta valda varianter av \[.\] till \<.\> därefter på den text som ska visas?

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

## #2 — K@llen, 2005-06-09T09:57Z

Gör en funktion där du först kör hela texten genom htmlentities. Gör sedan en replace i funktionen på de element som inte ska ingå. Exempelvis för \<br\> får du  & l t ; b r & g t ; utan mellanslag. replaca tillbaka den till en vanlig \<br\>.

Själv brukar jag dock använda forumkod \[blaha\]

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

## #3 — K@llen, 2005-06-09T10:09Z

Ett exempel på hur jag menar. Bold fungerar men inte kursiv.

```
$text = "<i>hej</i> hopp <b>du</b> glade";

function formatText($text) { 
    $text = htmlentities($text);
    $text = str_replace( '&lt;b&gt;' , "<b>", $text);
    $text = str_replace( '&lt;/b&gt;' , "</b>", $text);
    // Lägg till alla taggar som ska fungera

    return $text;
}

print formatText($text);
```

RED: Snyggade till med lite indenteringar

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

## #4 — zcorpan, 2005-06-09T12:18Z

```php
$text = "<i>hej</i> hopp <br> <b>du</b> glade";

function formatText($text) { 
    $text = htmlspecialchars($text); // tycker bättre om htmlspecialchars 
    $arr1 = array('&lt;b&gt;', '&lt;/b&gt;', '&lt;i&gt;', '&lt;/i&gt;', '&lt;br&gt;');
    $arr2 = array('<b>', '</b>', '<i>', '</i>', '<br>');
    return str_replace($arr1, $arr2, $text);
}

print formatText($text);
```

 Så tror jag man kan göra också. :)

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

## #5 — aasah, 2005-06-09T15:22Z

Ah! Tack för svaren! :D

> **zcorpan skrev:**
>
> htmlspecialchars($text); // tycker bättre om htmlspecialchars

Vad är det som gör att du föredrar den?

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

## #6 — K@llen, 2005-06-09T15:43Z

Den frågan har jag också ställt mig en gång och svaret är helt beroende på hur man ser på saken. Svaret jag fick då kan du läsa här:
<http://www.webforum.nu/showthread.php?s=&postid=407734#post407734>

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

## #7 — aasah, 2005-06-09T15:47Z

> **Marcus E i det ovan länkade inlägget skrev:**
>
> [htmlspecialchars](http://se.php.net/manual/en/function.htmlspecialchars.php) i kombination med korrekt inställd teckenuppsättning är bäst att använda. 
> 
> htmlspecialchars byter inte ut tecken i den utökade ascii-tabellen, vilket inte behövs om man ställer in rätt teckenuppsättning. Har man dock bestämt sig för att strunta i det och köra med &amp;aring; &amp;auml; etc. är htmlentities att föredra.

Med korrekt inställd teckenuppsättning avses raden i META-headers eller? :q

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

---

Tråden på webben: https://www.webforum.nu/amne/php/129721-få-htmlentities-att-hoppa-över-vissa-taggar
