Toon posts:

{php} str_replace vraagje

Pagina: 1
Acties:
  • 30 views sinds 30-01-2008

Verwijderd

Topicstarter
ik wordt er helemaal gek van...

dit werkt wel maar wil ik niet, want dan krijg je een linkje en ik wil contactformulier.hhp al gelijk zien.

$text = str_replace(":contactformulier:","<a href='contactformulier.php' target='center'>Contactformulier</a>", $text);

waarom werkt dit niet dan???

echo $text = str_replace(":contactformulier:",include('contactformulier.php'), $text);

help me..... :? :? :? :?

  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Je wilt de inhoud van contactforumulier.php gebruiken op de huidige pagina?
http://php.net/file_get_contents

Of gewoon includen?
http://php.net/include/

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


Verwijderd

Topicstarter
ik wil hem alleen includen als $text :contactformulier: bevat. anders niet

  • frickY
  • Registratie: Juli 2001
  • Laatst online: 13:38
Kijk eens naar strpos()

  • HyperioN
  • Registratie: April 2003
  • Laatst online: 31-10 21:55
Verwijderd schreef op woensdag 08 november 2006 @ 22:13:
ik wil hem alleen includen als $text :contactformulier: bevat. anders niet
PHP:
1
if (strpos($text,":contactformulier:")) include("contactformulier.php");


:?
Misschien moet je even iets duidelijker zijn...

edit: ah, ff naar fricky gekeken, heeft ie een punt. Nu include 'ie dus contactformulier.php als de string ":contactformulier:" voorkomt in $text, wat de rest ook moge zijn.

[ Voor 22% gewijzigd door HyperioN op 08-11-2006 22:23 ]


  • Peter
  • Registratie: Januari 2005
  • Laatst online: 21-11 22:36
Hij is duidelijk genoeg, HyperioN.

PHP:
1
2
3
4
5
6
7
8
<?php
$text = "blablabla :contactformulier: blablabla";
if( strpos( $text, ":contactformulier:" ) !== false )
{
    $text = str_replace( ":contactformulier:", file_get_contents( "contactformulier.php" ), $text );
}
echo $text;
?>


of indien contactformulier.php ook PHP code bevat (en dus uitgevoerd moet worden;

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php
$text = "blablabla :contactformulier: blablabla";
if( strpos( $text, ":contactformulier:" ) !== false )
{
    // Gebruik output buffering om te output op te vangen
    ob_start();
    include( "./contactformulier.php" );
    $Content = ob_get_contents();
    ob_end_clean();

    $text = str_replace( ":contactformulier:", $Content, $text );
}
echo $text;
?>

[ Voor 45% gewijzigd door Peter op 08-11-2006 22:23 ]


Verwijderd

Topicstarter
sorry terwijl ik typte komt de oplossing al

Bedankt!!

Het zit dus zo. ik werk aan een cms systeem en de klant kan dmv de fckeditor zelf de pagina onderhoduen. formulieren is te moeilijk voor klanten dus die maak ik zelf (contactformulier.php) en als de klant in de editor :contactformulier: intypt wil ik dat hij dat weg haalt en contactformulier.php include. Nu kan ik de oplossing van hierboven niet gebruiken want wat nou als de klant het volgende doet.

klant typt:---------------------------------------------------------------

Hieronder staat een contactformulier en als je deze invult zullen we zo spoedig mogelijk contact met u opnemen etc etc en voor overige vragen kun je ons altijd bellen.

:contactformulier:

------------------------------------------------------------------------------

Nu is $text meer dan alleen :contactformulier: dus dan gaat dat niet werken..vandaar dus string replace... maar het werkt nog niet... 8)7 8)7 8)7 8)7 8)7

[ Voor 3% gewijzigd door Verwijderd op 08-11-2006 22:24 ]


  • HyperioN
  • Registratie: April 2003
  • Laatst online: 31-10 21:55
.Peter schreef op woensdag 08 november 2006 @ 22:22:
Hij is duidelijk genoeg, HyperioN.

PHP:
1
2
3
4
5
6
7
8
<?php
$text = "blablabla :contactformulier: blablabla";
if( strpos( $text, ":contactformulier:" ) !== false )
{
    $text = str_replace( ":contactformulier:", file_get_contents( "contactformulier.php" ), $text );
}
echo $text;
?>
[knip]
Ja ik las iets niet goed.. goede oplossing verder.

offtopic:
maar euhm:
if (statement != false) {}

kun je natuurlijk beter zo schrijven:
if (statement) {}

[ Voor 8% gewijzigd door HyperioN op 08-11-2006 22:27 ]


  • CodeCaster
  • Registratie: Juni 2003
  • Niet online

CodeCaster

Can I get uhm...

Quick&Dirty:
PHP:
1
2
 $form = file_get_contents('contactformulier.php');
 $text = str_replace(':contactformulier:', $form, $text);

https://oneerlijkewoz.nl
Op papier is hij aan het tekenen, maar in de praktijk...


  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 09:20

krvabo

MATERIALISE!

Verwijderd schreef op woensdag 08 november 2006 @ 22:05:
ik wordt er helemaal gek van...

dit werkt wel maar wil ik niet, want dan krijg je een linkje en ik wil contactformulier.hhp al gelijk zien.

$text = str_replace(":contactformulier:","<a href='contactformulier.php' target='center'>Contactformulier</a>", $text);

waarom werkt dit niet dan???

echo $text = str_replace(":contactformulier:",include('contactformulier.php'), $text);

help me..... :? :? :? :?
PHP:
1
echo str_replace(":contactformulier:",include('contactformulier.php'), $text);

Hm trouwens, geen idee of je zo kunt includen :P
CodeCaster schreef op woensdag 08 november 2006 @ 22:26:
Quick&Dirty:
PHP:
1
2
 $form = file_get_contents('contactformulier.php');
 $text = str_replace(':contactformulier:', $form, $text);
Betere manier inderdaad :)

[ Voor 20% gewijzigd door krvabo op 08-11-2006 22:27 ]

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • Osiris
  • Registratie: Januari 2000
  • Niet online
krvabo schreef op woensdag 08 november 2006 @ 22:26:
[...]

PHP:
1
echo str_replace(":contactformulier:",include('contactformulier.php'), $text);

Hm trouwens, geen idee of je zo kunt includen :P
`include` is een language construction, géén functie, dus dan kun je em sowieso niet gebruiken op die manier. En zelfs als 't een functie zou zijn, dan zou je alsnog niet $var = include('meuQ') kunnen doen, dus zou ie óók niet zo gebruikt kunnen worden...

  • doeternietoe
  • Registratie: November 2004
  • Laatst online: 21:48
[b][message=26813854,noline]krvabo schreef op woensdag 08 november 2006 @
PHP:
1
echo str_replace(":contactformulier:",include('contactformulier.php'), $text);

Hm trouwens, geen idee of je zo kunt includen :P
Ik heb zomaar het idee dat include('') alleen maar true uit zal voeren. Zoals ik het zie zal die niet gaan werken.

Verwijderd

Topicstarter
die van codecaster is lekker simpel alleen werkt het php script van contactformulier.php dan niet meer... ;(

Verwijderd

Topicstarter
Maar ik gebruik die van Peter... Peter bedankt...

  • krvabo
  • Registratie: Januari 2003
  • Laatst online: 09:20

krvabo

MATERIALISE!

Osiris schreef op woensdag 08 november 2006 @ 22:30:
[...]

`include` is een language construction, géén functie, dus dan kun je em sowieso niet gebruiken op die manier. En zelfs als 't een functie zou zijn, dan zou je alsnog niet $var = include('meuQ') kunnen doen, dus zou ie óók niet zo gebruikt kunnen worden...
Ik doe het normaal zelf ook niet zo ;)
Het was gewoon een reactie met een probeersel om het voor de TS simpel te houden.. normaal zou ik ook gewoon file_get_contents of een ander equivalente functie gebruiken..
HyperioN. schreef op woensdag 08 november 2006 @ 22:25:
[...]
offtopic:
maar euhm:
if (statement != false) {}

kun je natuurlijk beter zo schrijven:
if (statement) {}
Er staat X !== Y ;)
Dat betekend dat als X =0, Y niet _nul_ mag zijn (met != ziet php 0 als false én nul)

[ Voor 23% gewijzigd door krvabo op 08-11-2006 22:42 ]

Pong is probably the best designed shooter in the world.
It's the only one that is made so that if you camp, you die.


  • Borizz
  • Registratie: Maart 2005
  • Laatst online: 24-09 20:59
HyperioN. schreef op woensdag 08 november 2006 @ 22:25:
[...]
Ja ik las iets niet goed.. goede oplossing verder.

offtopic:
maar euhm:
if (statement != false) {}

kun je natuurlijk beter zo schrijven:
if (statement) {}
Dat laatste wat je zegt is niet waar!
PHP:
1
2
3
if (statement) { 
    // code ...
}

is niet hetzelfde als (let op het dubbele '=' teken):
PHP:
1
2
3
if (statement !== false) { 
    // code ...
}


De eerste wordt namelijk niet uitgevoerd als het statement null, een lege string of het getal 0 teruggeeft. De tweede wordt in al deze gevallen wel uitgevoerd, omdat er expliciet wordt gechecked of het resultaat niet gelijk is aan de boolean waarde false.

strpos kan ook het getal 0 terug geven als geldig resultaat (de tekst ':contactformulier:', begint dan op positie 0). Terwijl false betekend dat er geen resultaat gevonden is, dat is dus wel degelijk een verschil en hiervoor gebruik je dus de Not Identical (!==) operator.

If I can't fix it, it ain't broken.


  • André
  • Registratie: Maart 2002
  • Laatst online: 14:48

André

Analytics dude

Mjah, deze had dus in Programming gemoeten, maar aangezien het nu opgelost ik gooi ik hem dicht.
Pagina: 1

Dit topic is gesloten.