---
title: "preg_replace hjälp"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/177249-preg-replace-hjälp"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "paddan"
published: "2009-03-02T15:43:04.000Z"
updated: "2009-03-19T11:27:45.000Z"
replies: 10
views: 794
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/177249-preg-replace-hjälp"
---

# preg_replace hjälp

## #1 — paddan, 2009-03-02T15:43Z

Hej,
Jag blir aldrig klok på de här reg. expressions så jag behöver lite hjälp.
Jag skulle vilja leta upp \[21 min\] och ändra de till, 21\<br /\>min.

Att man ska använda preg_replace är väl ganska klart men jag blir inte klok hur jag ska göra resten...

/M

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

## #2 — drew, 2009-03-02T16:35Z

```php
str_replace('[21 min]', '21<br />min', $str);
```

borde väl fungera lika bra om det är så där enkelt?

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

## #3 — paddan, 2009-03-02T22:06Z

Jo fast det kan lika bra vara \[41 min\], därför måste jag använda reg exp

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

## #4 — SPiN, 2009-03-02T23:10Z

Är det alltid två siffror? Eller kan det vara en (1) siffra också?
Två siffror:

```
$str = preg_replace('/\[(\d{2}) ([a-z]{3})\]/i', '$1<br />$2', $str);
```

En siffra:

```
$str = preg_replace('/\[(\d{1,2}) ([a-z]{3})\]/i', '$1<br />$2', $str);
```

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

## #5 — paddan, 2009-03-18T14:35Z

Hej,
Tack för hjälpen senast men nu behöver jag hjälpa igen.

Behöver ett regular expression för detta:
\[54\] En mening med massa ord \[54\] alt, \[5\] En mening med massa ord \[4\]

/M

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

## #6 — voigtann1, 2009-03-18T14:52Z

Hur menar du där?

```
[54] En mening med massa ord [54]
```

Där numret är samma från första och sista \[\] ?
Eller om det är:

```
[54] en mening med massa ord
```

```
[54] alt
```

```
[5] en mening med massa ord
```

???

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

## #7 — paddan, 2009-03-18T15:18Z

Jag menar så här:
\[x1\] en mening med massa ord \[x2\] 

Jag menar att x1 läggs i $1, "en mening med massa ord" läggs i $2 och x2 läggs i $3

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

## #8 — voigtann1, 2009-03-18T15:36Z

x1 behöver inte vara samma som x2?

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

## #9 — paddan, 2009-03-18T16:30Z

> **[voigtann1 skrev:](https://www.webforum.nu/p/1460706)**
>
> x1 behöver inte vara samma som x2?

Nix....dem kommer vara olika siffror!

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

## #10 — voigtann1, 2009-03-18T20:39Z

jag gissar att det är max 0-99 som gäller fortfarande?

```
\[(\d{1,2})\](.*?)\[(\d{1,2})\]
```

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

## #11 — paddan, 2009-03-19T11:27Z

Jepp....
Funkar klockrent.

Här kommer koden i totale för att andra kanske behöver samma hjälp:

```
$temp_text = preg_replace('/\[(\d{1,2})\](.*?)\[(\d{1,2})\]/i', '<span class="number_first">$1</span><span class="text">$2</span><span class="number_last">$3</span>', $temp_text);
```

Tack för hjälpen...Super nice!

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

---

Tråden på webben: https://www.webforum.nu/amne/php/177249-preg-replace-hjälp
