---
title: "include kommandon"
type: "forum-thread"
url: "https://www.webforum.nu/amne/php/167300-include-kommandon"
topic: "PHP"
topic_url: "https://www.webforum.nu/amne/php"
author: "Type"
published: "2007-12-16T11:14:19.000Z"
updated: "2007-12-19T10:11:44.000Z"
replies: 9
views: 708
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/167300-include-kommandon"
---

# include kommandon

## #1 — Type, 2007-12-16T11:14Z

Hej alla
Jag ber om ursäkt om tråd redan finns (jag har inte hittat något som precis besvarar mitt problem).

Jag har en textfil (med .php) som innehåller tex detta:

```
[rubrik]Rubrik 1[/rubrik]
Text

Nytt stycke
Text TextText

[rubrik]Rubrik 2[rubrik]
Mer text mer text
```

Jag vill inkludera denna och leta efter rubrik och då ersätta det med \<h1\> och senare även kunna ha flera taggar, tex \[fet\], \[kursiv\] osv.... Någon som kan hjälpa mig med en länk eller förklaring på hur man gör?

Vad jag luskat ut är att man ska använda file istället för include... men sen funkar det inte...

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

## #2 — Type, 2007-12-16T12:04Z

Nu börjar jag komma någonvart:

```php
$lines = file_get_contents($p.".inc.php");
 $patterns[0] = "/\[rubrik\]/";
$patterns[1] = "/\[\/rubrik]/";
$replacements[0] = '<h2>';
$replacements[1] = '</h2>';
print preg_replace($patterns, $replacements, $lines);
```

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

## #3 — nitro2k01, 2007-12-16T12:52Z

Semantiskt sett bör du även byta namn på filen så att den har en annan filändelse än inc.php. (T ex txt) Om du får $p från en querystring bör du även kolla formatet på den så att folk inte kan injicera ../ och komma åt filer som de inte bör. (T ex filen med inlggningsuppgifter till databasen.)

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

## #4 — stevenet, 2007-12-16T13:04Z

Löses nog lättast med [str_replace](http://www.php.net/str_replace) 

```php
<?php

 $lines = file_get_contents($p.".inc.php"); 
 
 $tags = array("[rubrik]", "[/rubrik]", "[fet]", "[/fet]", "[kursiv]", "[/kursiv]");
 $replace = array("<h2>", "</h2>", "<strong>", "</strong>", "<em>", "</em>");
 
 $lines = str_replace($tags,$replace,$lines);
 
 echo $lines;
?>
```

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

## #5 — Type, 2007-12-19T08:50Z

> **stevenet skrev:**
>
> Löses nog lättast med [str_replace](http://www.php.net/str_replace) 
> 
>
>
> ```php
> <?php
> 
>  $lines = file_get_contents($p.".inc.php"); 
>  
>  $tags = array("[rubrik]", "[/rubrik]", "[fet]", "[/fet]", "[kursiv]", "[/kursiv]");
>  $replace = array("<h2>", "</h2>", "<strong>", "</strong>", "<em>", "</em>");
>  
>  $lines = str_replace($tags,$replace,$lines);
>  
>  echo $lines;
> ?>
> ```

Det där gick ju jättesmidigt! Problemet är att om jag skriver så här:

```
[rubrik]Rubrik1[/rubrik]
texttexttext
```

... så blir det ju en radbrytning mellan rubrik1 och texttexttext eftersom jag kör nl2br() på hela rasket. jag vill på något sätt trimma bort \\n från \[/rubrik\]. Tips?

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

## #6 — Type, 2007-12-19T09:02Z

Tack så mycket Stevenet!!!

Nu fular jag mig så länge:

```php
$lines = file_get_contents($p.".inc.php");

$tags = array("[editable]","[rubrik]", "[/rubrik]", "[fet]", "[/fet]", "[kursiv]", "[/kursiv]");
$replace = array("<!--editable-->","<span class='head2'>", "</span>", "<strong>", "</strong>", "<em>", "</em>");

$lines = str_replace($tags,$replace,$lines);

echo nl2br($lines);
```

```
span.head2{
    font-family:Trebuchet MS,Helvetica,Arial,Verdana,sans-serif;
    font-size:15px;
    font-weight:bold;

    text-transform:uppercase;
    color:#F30;
    margin:0;
    padding:11px 0 0 5px;
}
```

Helst vill jag att man ska söka efter \[/rubrik\]\\n och ersätta med \</h2\> men det funkar inge vidare för mig så det här får duga så länge :)

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

## #7 — fiddler, 2007-12-19T09:29Z

> **Type skrev:**
>
> Helst vill jag att man ska söka efter \[/rubrik\]\\n och ersätta med \</h2\> men det funkar inge vidare för mig så det här får duga så länge :)

Det kanske är \[/rubrik\]\\r\\n du ska söka efter. Bara en tanke... :OO

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

## #8 — Type, 2007-12-19T09:31Z

vad står \\r för?

Funkade för övrigt perfekt fiddler. tack!

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

## #9 — fiddler, 2007-12-19T09:34Z

> **Type skrev:**
>
> vad står \\r för?
> 
> Funkade för övrigt perfekt fiddler. tack!

Vad bra! Antar att \\r står för retur helt enkelt, men jag kan ha fel. Om du matar in radbrytningar med retur-knappen får du \\r\\n.

/Litet tillägg: nl2br ersätter \\n med \<br /\> vilket ger resultatet \\r\<br /\>. Om man är känslig för hur den genererade koden ser ut kan man göra en egen funktion som ersätter \\r\\n med \<br /\> istället för att använda nl2br.

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

## #10 — Troxy, 2007-12-19T10:11Z

\\r = Carriage Return (CR)
\\n = Line Feed (LF)

Det är två olika tecken för radbrytningar.
Windows använder båda dessa tecken för att göra radbrytningar, dvs. CR+LF.
Unix, Linux, Mac OS X och liknande använder vanligtvis bara LF för radbrytningar.

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

---

Tråden på webben: https://www.webforum.nu/amne/php/167300-include-kommandon
