---
title: "använd arrays med eregi_replace"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/70598-använd-arrays-med-eregi-replace"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "elvelind"
published: "2003-03-10T02:00:23.000Z"
updated: "2003-03-10T09:43:39.000Z"
replies: 7
views: 182
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/70598-använd-arrays-med-eregi-replace"
---

# använd arrays med eregi_replace

## #1 — elvelind, 2003-03-10T02:00Z

har ett problem med en kodsnutt.

tanken är att den ska hämta en lista med ord från en xml fil. leta igenom en sträng efter dessa och ersätta dem. orden och erstättningssträngarna hämtas in till en array.

```php
if(isset($_POST["textfield"])){
	
	$patterns[0] = "/varg/";
	$patterns[1] = "/elvelind/";
	$patterns[2] = "/html/";
	
	$replacements[0] = "<a href=\"http://cirkeln.net\">\\0</a>";
	$replacements[1] = "<a href=\"http://elendor.com\">\\0</a>";
	$replacements[2] = "<acronym title=\"HyperText Markup Language\">HTML</acronym>";
	
	ksort($replacements);
	ksort($patterns);
	
	echo preg_replace($patterns, $replacements, $_POST["textfield"]);{
```

 

delen där den hämtar från xml filen är borttagen och ersatt med enklare kod bara för att visa hur arrayerna ser ut.

denna kod fungerar utmärkt.. dock är den versalkänslig och  hittar inte HTML utan bara html.

för att lösa detta testade jag med eregi_replace istället för preg_replace..  men då funkar det inte att använda arrayer av någon anledning.. 
hjälp  :p

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

## #2 — dectgap, 2003-03-10T02:10Z

Om du ändrar dina patterns ifrån formatet

```
$patterns[0] = "/varg/";
```

till

```
$patterns[0] = "/varg/i";
```

borde det bli bra.

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

## #3 — elvelind, 2003-03-10T02:13Z

fungerar fortfarande inte alls

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

## #4 — dectgap, 2003-03-10T02:17Z

Jag glömde säga att du ska använda det med preg_replace().
Fungerar det ändå inte?

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

## #5 — elvelind, 2003-03-10T02:20Z

fungerar perfekt.. tackar. nu kan jag sova lugnt.

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

## #6 — elvelind, 2003-03-10T02:35Z

ett litet till problem.. nu matchar den även ord som är innuti andra ord.. dvs både html och ahtml. testa med
$patterns\[2\] = "/html\[^a-zA-Z0-9\]/i"; för att stoppa detta.. men det skapar två problem. 
1\. den matchar inte ahtml men "html." vilkent är rätt. däremot så blir det problem eftersom även punkten ersätts.
2\. den hittar inte html om den ligger sist i strängen och alltså inte har något bakom sig.

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

## #7 — Matte, 2003-03-10T06:06Z

Testa det här:

```
$patterns[2] = "/\bhtml\b/i";
```

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

## #8 — elvelind, 2003-03-10T09:43Z

perfekt. tackar.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/70598-använd-arrays-med-eregi-replace
