---
title: "preg_replace och $"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/166254-preg-replace-och"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Kenchu"
published: "2007-11-09T14:22:32.000Z"
updated: "2007-11-09T15:28:04.000Z"
replies: 8
views: 625
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/166254-preg-replace-och"
---

# preg_replace och $

## #1 — Kenchu, 2007-11-09T14:22Z

Har lite problem med preg_replace och $. Följande fungerar:

```php
$str = "hej";
echo preg_replace("/.+/", "lol", $str); // output: lol
```

Men inte följande:

```php
$str = "$hej";
echo preg_replace("/.+/", "lol", $str); // output:
```

Vad är det som är knas?

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

## #2 — Gein, 2007-11-09T14:44Z

PHP tolkar $hej som en variabel även i strängen så kör:

```php
$str = '$hej'; 
echo preg_replace("/.+/", "lol", $str); // output:
```

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

## #3 — Kenchu, 2007-11-09T14:48Z

Vad är det för skillnad på "" och '' egentligen? För nu har jag "egentligen" en fread så det blir liksom en sträng med "".

```php
$file = fopen("main.htm","r");

while(true)

{

   // Försök låsa filen, om misslyckas, försök igen

   if (flock($file, LOCK_EX))

   {

      $str = fread($file, filesize("main.htm"));
      
      echo preg_replace("/\{(\$.+)\}/", "$1", $str);

      

      // "The lock is released also by fclose()"

      fclose($file);
      
      break;

   }

}
```

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

## #4 — Gein, 2007-11-09T14:53Z

En av skillnaderna är iaf att " " evaluerar variabler (du behöver alltså inte konkatenera manuellt, detta skulle jag däremot inte rekommendera). Denna evaluering görs inte inom ' '.

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

## #5 — Kenchu, 2007-11-09T14:57Z

Hur gör jag för att få $str från fread att bli en ' '?

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

## #6 — Gein, 2007-11-09T15:13Z

En variabel är liksom inte vare sig ' ' eller " ". Det är när du skriver strängar i koden som du använder dig av ' ' alternativt " ".
Vad är det du vill ska hända?

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

## #7 — Kenchu, 2007-11-09T15:15Z

Jag vill byta ut förekomster av {$värde} i en html fil med värdet av $värde i php-filen.

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

## #8 — Gein, 2007-11-09T15:22Z

Du har namnet på en variabel och vill skriva ut dess värde?
Normalt sett så gör du såhär:

```php
$minvariabel = 'variabelinnehåll';
$var1 = 'minvariabel';
echo $$var1
```

Jag har dock inget svar (just nu) på hur du löser det i din preg_replace, om det ens går.

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

## #9 — Kenchu, 2007-11-09T15:28Z

Det fungerar om man tar bort $. :\> Aja tack för svaren iaf.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/166254-preg-replace-och
