html code exact overnemen en opslaan

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Top Low-Code Developer Gezocht!

Bedrijfsomschrijving Unieke Kansen, Uitstekende Arbeidsvoorwaarden & Inspirerend Team Wij zijn een toonaangevende, internationale organisatie die de toekomst van technologie vormgeeft door het creëren van innovatieve en baanbrekende oplossingen. Ons succes is gebaseerd op een hecht en gepassioneerd team van professionals die altijd streven naar het overtreffen van verwachtingen. Als jij deel wilt uitmaken van een dynamische, vooruitstrevende en inspirerende werkomgeving, dan is dit de perfecte kans voor jou! Functieomschrijving Als Low-Code Developer ben je een cruciaal onderdeel van ons team. Je werkt samen met collega's uit verschillende disciplines om geavanceerde applicaties te ontwikkelen en te optimaliseren met behulp van Low-code

Bekijk vacature »

Jb bl

jb bl

18/03/2009 09:12:00
Quote Anchor link
(Dit berichtje had ik in de verkeerde categorie geplaatst, vandaar dat ik deze nog even in de juiste categorie zet, namelijk php)

Ik ben bezig om zelf een heel eenvoudig beheersysteempje te maken om via een beveiligde pagina html bestanden aan te kunnen passen.
Iemand moet namelijk een 100-tal html bestanden zelf kunnen aanpassen. Het gaat hierbij alleen om eenvoudige tekst aanpassingen.

Ik ben al zover dat ik een html bestand in een <textarea> kan inlezen, aanpassen en opslaan.
Alleen het probleem is dat het html bestand niet helemaal 100% correct is opgebouwd, dus soms wel een "-teken en soms niet. Bij het aanpassen van de html en het opslaan worden bepaalde teksten omgezet in bijvoorbeeld ' tekens, waarbij de site niet meer goed zichtbaar is.

Mijn vraag is nu, hoe krijg ik het voor elkaar om de html code in een bestand EXACT over te nemen en ook weer EXACT op te slaan.

De phpcode zoals ik die nu heb, staat hieronder:

$file = fopen ("../../$bestand", "r");

while(!feof($file))
{
$gegevens = fgetc($file);
}
echo "<textarea>";
echo "$gegevens";
echo "</textarea>";

fclose($file);

--

Ik had ook al zitten spelen met htmlspecialchars($gegevens) en met fgets , maar op de een of andere manier lukt mij dat niet.
Weten jullie een bepaald commando wat ik kan gebruiken of andere tips?
 
PHP hulp

PHP hulp

17/05/2024 15:01:52
 
Graviton

graviton

18/03/2009 09:44:00
Quote Anchor link
Als het alleen om het aanpassen van tekstcontent gaat en niet de HTML code zelf verplaats je de tekstcontent dan niet liever naar een XML bestand of database? Dan kun je namelijk de content ook aanpassen, maar dan tast je de integriteit van de html-code niet aan. Ik weet overigens niet waarom er verschillen optreden in de code bij het inlezen en opslaan van de html bestanden.

Je kunt een XML bestand op de volgende manier inladen, uitlezen en editen:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
<?php

//Laadt het xml bestand in een simplexml object.
$xml = simplexml_load_file("bestand.xml");

//Zo toon je data uit het xml bestand:
echo $xml->rootTag[0]->nogEenTag->jouwTekstTag;

//Zo pas je data in het xml bestand aan:
$xml->rootTag[0]->nogEenTag->jouwTekstTag = "mijnString";

?>
Gewijzigd op 01/01/1970 01:00:00 door graviton
 
Jb bl

jb bl

18/03/2009 12:32:00
Quote Anchor link
Het probleem is dat het meer dan 200 HTML bestanden zijn.
Als ik die allemaal in een SQL database moet zetten of XML bestanden van moet maken, kost dat gigantisch veel tijd.

Ik had gehoopt dit op een hele eenvoudige manier te kunnen oplossen, maar dat wordt dus lastig zo te horen?
 
Jurgen assaasas

Jurgen assaasas

18/03/2009 12:45:00
Quote Anchor link
file_get_contents()?
 
Jb bl

jb bl

18/03/2009 13:12:00
Quote Anchor link
Als ik het commando file_get_contents() gebruik gaat het goed en wordt de inhoudt van het HTML bestand EXACT weergegeven zoals die is. Perfect.

Alleen bij het opslaan gaat er wat fout, dan komen er allemaal \-tekens in te staan.

De code die ik gebruik voor het opslaan is:

$file = fopen ("../../$bestand", "w+");
fwrite($file, $content);
fclose($file);

Is er een andere manier om het html bestand te overschrijven?
 
Wesley Overdijk

wesley Overdijk

18/03/2009 13:46:00
Quote Anchor link
de backslashes zijn als in escapen of? want ik snap je neit helemaal geloof ik.
 
Jb bl

jb bl

18/03/2009 14:04:00
Quote Anchor link
Een voorbeeld regel uit het HTML bestand.

Origineel:
<marquee style="font-family: Verdana; font-size: 14 pt">

Na het aanpassen en opslaan wordt deze regel:
<marquee style=\"font-family: Verdana; font-size: 10 pt\">

Als ik deze nog een keer aanpas en opsla, wordt de regel:
<marquee style=\\\"font-family: Verdana; font-size: 14 pt\\\">

Dus voor ale " tekens wordt een \ geplaatst bij het overschrijven van het html bestand.
 
Wesley Overdijk

wesley Overdijk

18/03/2009 14:07:00
Quote Anchor link
escapen dus. doe dit:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
<?
$bestand
= stripslashes($bestand);
$file = fopen ("../../$bestand", "w+");
fwrite($file, $content);
fclose($file);
[
/code]
 
Jb bl

jb bl

18/03/2009 14:26:00
Quote Anchor link
Zo te zien lijkt het te werken..... Super!!
 
Wesley Overdijk

wesley Overdijk

18/03/2009 14:29:00
Quote Anchor link
No problem. Succes ermee verder ;)
 



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.