---
title: "eregi_replace"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/71283-eregi-replace"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Nexus86"
published: "2003-03-17T08:03:35.000Z"
updated: "2003-03-17T08:03:35.000Z"
replies: 0
views: 175
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/71283-eregi-replace"
---

# eregi_replace

## #1 — Nexus86, 2003-03-17T08:03Z

Har en kod för att byta ut \<a=#foo\>bar\</a\> mot \<a href="#foo"\>bar\</a\> men den fungerar inte riktigt som den ska.

```php
$str = eregi_replace("&lt;a=#([[:alnum:]]+)&gt;(.+)&lt;/a&gt;", "<a href=\\"#\\\\1\\">\\\\2</a>", $str);
```

Så borde den se ut men om man har flera \<a=#... så blir det en länk mellan första \<a=#... och sista \</a\>. Hur ska jag göra för att få en länk mellan första \<a=#... och första \</a\>, en mellan andra \<a=#... och andra \</a\>, etc.? Har löst det tillfälligt såhär:

```php
$str = eregi_replace("&lt;a=#([[:alnum:]]+)&gt;([-a-z0-9 :\\._\\+\\?,/\\\\\\'<>;]+)&lt;/a&gt;", "<a href=\\"#\\\\1\\">\\\\2</a>", $str);
```

EDIT // Jag har använt htmlentities före. Därav &lt;, &gt;, m.m..

EDIT2 // Satte dit alla backslash som webForum tagit bort.

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

---

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