str_replace(); gebruiken op include();

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Matshofman

matshofman

01/04/2008 21:16:00
Quote Anchor link
Hallo,

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)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
   $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
 
PHP hulp

PHP hulp

21/11/2024 23:47:03
 
Jan Koehoorn

Jan Koehoorn

01/04/2008 21:29:00
Quote Anchor link
Wat krijg je dan als output?
 
Matshofman

matshofman

01/04/2008 21:38:00
Quote Anchor link
hij voert enkel include('head.inc'); uit
Gewijzigd op 01/01/1970 01:00:00 door matshofman
 
Jan Koehoorn

Jan Koehoorn

01/04/2008 21:42:00
Quote Anchor link
Ja, maar die str_replace geef je de variabele $text mee. Waar komt die vandaan?
 
Matshofman

matshofman

01/04/2008 21:45:00
Quote Anchor link
O.o dat heb ik hier fout staan ik heb het wel goed in mijn script ;)
 
Joren de Wit

Joren de Wit

01/04/2008 21:50:00
Quote Anchor link
Het resultaat van de include is een boolean, dus het heeft weinig zin om daar een str_replace() op toe te passen.

Bedoelde je niet toevallig file_get_contents() in plaats van include?
 
Matshofman

matshofman

01/04/2008 21:54:00
Quote Anchor link
daar heb ik ook al even mee zitten proberen maar dat lukte mij niet echt.

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)
PHP script in nieuw venster Selecteer het PHP script
1
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" />

?>


Op de pagina

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
<?php include("../head.inc"); ?>
 
Joren de Wit

Joren de Wit

01/04/2008 21:56:00
Quote Anchor link
En hoe heb je dat dan met file_get_contents() geprobeerd?
 
Jan Koehoorn

Jan Koehoorn

01/04/2008 21:57:00
Quote Anchor link
En heb je head.inc op verschillende niveau's nodig? Anders vervang je toch gewoon de waarden in het bestand zelf?
 
Matshofman

matshofman

01/04/2008 22:02:00
Quote Anchor link
@ Jan Koehoorn: nee zowel als root als 1 lager

@ Blache: zo,

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>
 
Joren de Wit

Joren de Wit

01/04/2008 22:04:00
Quote Anchor link
Er is nogal een verschil tussen file_put_contents() en file_get_contents(), dus het is niet echt vreemd dat het bij jou niet werkt.

Probeer het eens zo:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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;
?>
 
Matshofman

matshofman

01/04/2008 22:07:00
Quote Anchor link
Het is gelukt :D geweldig.

Bedankt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.