Hallo. Ik ben redelijk nieuw in php. Ik heb onderstaande php script wat goed werkt. De oude tekst die zich bevindt in test.html wordt perfect vervangen voor de nieuwe middels de preg_replace functie. echter nu loop ik tegen een ander probleem aan. Ik heb namelijk een class toegevoegd in de html code dus als volgt:
<h1 class="check1>Oude tekst hier</h1>
Weet iemand wat nu de juiste synthax is in $search om de tekst toch te vervangen via de preg_replace functie?
Hieronder dan de php:
<?php
$myfile = "test.html"; // or .php
$string = file_get_contents($myfile);
$search = "/[^<h1>](.*)[^<\/h1>]/";
$replace = "Here my new text";
Interessant Ivo! Dat maakt het een stuk duidelijker.
Jij gebruikt $1 en $2. Als ik het goed begrijp, worden de eerste en laatste groep in de beginpost juist niet gecaptured/vervangen? Is er een speciale reden waarom jij dat wel doet (via $1 en $2)?
Dat is vooral omdat je anders die tags kwijt bent....
Vandaar mijn vraag ook helemaal bovenaan: dat script wat in de openingspost staat, vervangt alles door alleen die ene string. En aan het vangen van de tekst die tussen de H1-tags staat, heb je weinig: die tekst vervang je immers dus was het niet interessant om te weten wát er stond.
In principe zou je de sluitende /h1 hardcoded in de $replace kunnen zetten, maar op deze manier kun je $replace ook gebruiken als je hetzelfde met een h2 tag wilt uithalen.
ja kloppt inderdaad. die werkt ook niet. had per abuis een verkeerde genomen. maar dankzij alle hulp hbe ik nu werkende scripts, waarmee ik op diverse manieren tekst kan aanpassen. Ik heb nu ook een form aangemaakt waarmee ik de ingevoerde tekst doorstuur naar een php die dan de oude tekst kan vervangen.