str_replace(); gebruiken op include();
Ik wil graag een bestand includen met include(../head.inc); maar nu wil ik dat alle links in het bestand ook ../ voor zich krijgen. Nu dacht ik ik doe het zo maar dat werkt niet.
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
$head = include('head.inc');
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo($head);
?>
$head = include('head.inc');
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo($head);
?>
Gewijzigd op 01/01/1970 01:00:00 door Matshofman
Wat krijg je dan als output?
Gewijzigd op 01/01/1970 01:00:00 door matshofman
Ja, maar die str_replace geef je de variabele $text mee. Waar komt die vandaan?
O.o dat heb ik hier fout staan ik heb het wel goed in mijn script ;)
Bedoelde je niet toevallig file_get_contents() in plaats van include?
Nu wil ik dus dat hij bij de links ../ er voor doet omdat het bestand in een map lager staat.
Ik zal even alles op een rijtje zetten
head.inc (geen php < ? enkel voor code blok)
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd" />
<html>
<head>
<title>Welkom! </title>
<meta name="Generator" content="EditPlus" />
<meta name="Author" content="Mats Hofman, Netherlands (matshofman[at]gmail.com)" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link href="main.css" rel="stylesheet" type="text/css" />
<link href="link.css" rel="stylesheet" type="text/css" />
<link href="class.css" rel="stylesheet" type="text/css" />
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd" />
<html>
<head>
<title>Welkom! </title>
<meta name="Generator" content="EditPlus" />
<meta name="Author" content="Mats Hofman, Netherlands (matshofman[at]gmail.com)" />
<meta name="Keywords" content="" />
<meta name="Description" content="" />
<meta http-equiv="content-type" content="text/html; charset=iso-8859-1" />
<link href="main.css" rel="stylesheet" type="text/css" />
<link href="link.css" rel="stylesheet" type="text/css" />
<link href="class.css" rel="stylesheet" type="text/css" />
?>
Op de pagina
En hoe heb je dat dan met file_get_contents() geprobeerd?
En heb je head.inc op verschillende niveau's nodig? Anders vervang je toch gewoon de waarden in het bestand zelf?
@ Blache: zo,
Code (php)
1
2
3
4
5
6
2
3
4
5
6
<?
file_put_contents('../head.inc', $head);
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo($head);
?>
file_put_contents('../head.inc', $head);
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo($head);
?>
Probeer het eens zo:
Code (php)
1
2
3
4
5
6
7
8
2
3
4
5
6
7
8
<?php
$head = file_get_contents('../head.inc');
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo $head;
?>
$head = file_get_contents('../head.inc');
$head = str_replace("href=\"","href=\"../",$head);
$head = str_replace("href='","href=\'../",$head);
echo $head;
?>
Bedankt!