---
title: "eregi_replace()-problem"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/14928-eregi-replace-problem"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "bgust"
published: "2000-11-04T21:09:00.000Z"
updated: "2000-11-05T12:32:00.000Z"
replies: 1
views: 206
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/14928-eregi-replace-problem"
---

# eregi_replace()-problem

## #1 — bgust, 2000-11-04T21:09Z

Jag använder eregi_replace för att ersätta taggar av typen:
\[röd\]röd färg\[/röd\] med html, men det uppstår problem om man använder dubbla taggar i eftersom den då byter ut första start-taggen och sista sluttaggen så resultatet av \[röd\]röd färg\[/röd\]inte röd\[röd\]röd färg\[/röd\] blir:
röd färg\[/röd\]inte röd\[röd\]röd färg
(och rött alltihop)

min kod ser ftf ut så här:
eregi_replace("\\\[röd\\\](\[\\x01-\\x7F,å,ä,ö,Å,Ä,Ö\]{1,})\\\[\\/röd\\\]","\<font color=\\"#FF0000\\"\>\\\\1\</font\>",$input);

Alltså frågan: Hur får man ereg att ersätta första(bästa) matchande mönster?

\[Redigerat av bgust den 04 nov 2000\]

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

## #2 — nicclas, 2000-11-05T12:32Z

Hejsan,

Om du använder preg_replace istället så kan du använda ? för att göra matchningen "ogirig".

\<?
$input="\[röd\]röd färg\[/röd\]inte röd\[röd\]röd\\nfärg\[/röd\]";
$ut=preg_replace("/\\\[röd\\\](\[\\x01-\\x7FåäöÅÄÖ\]+?)\\\[\\/röd\\\]/im","\<font color=\\"#FF0000\\"\>\\\\1\</font\>",$input);
echo "$ut\\n";
?\>
"i" ger "case insensitive" och "m" ger "multiline matching".

/nicclas - <http://www.nyhetsrubriker.com>

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

---

Tråden på webben: https://www.webforum.nu/amne/php/14928-eregi-replace-problem
