a.u.b. hulp bij 2 problemen.
In mijn voorbeeld krijg ik dat niet. Ik denk dat die witruimte ergens in het script wordt toegevoegd?
Toevoeging op 11/01/2022 17:27:09:
Toevoeging op 11/01/2022 17:27:36:
geen idee waar het doorkomt. zal even kijken
Ik krijg geen spaties of tabs erover en erachter, en die worden sowieso gestript door trim(). Wat is precies de uitvoer?
Toevoeging op 11/01/2022 17:46:04:
kan zo te zien geen bestand bijvoegen
Toevoeging op 11/01/2022 17:47:39:
bij de uitvoer als echo ... is er geen lege ruimte voor de tekst. in het formulier wel.
mhhh. vreeemd.
Toevoeging op 11/01/2022 17:50:07:
zat toch iets niet goed met de form. heb het invulveld van het formulier nu kleiner gemaakt. en is nu opgelost. heel gek. bedankt voor alle info en hulp. Heb veel aan jullie allemaal zal een screenshot maken
Een uploadfunctie op dit forum faciliteren we niet. In het vervolg kan je afbeeldingen prima uploaden via imgbb.com.
Er staan er tig voor en na de php code
Doe het zo
Die spaties in textarea zijn niet zo vreemd.
haal ook de spatie voor <¿php nog weg. (die regel van Adoptive hierboven dus)
Daar komt er een spatie voor de tekst.
Waarschijnlijk haal je die later weer weg met trim(), maar lijkt me beter om de oorzaak te onderdrukken, ipv het gevolg steeds te moeten oplossen met trim() (al is die trim sowieso wel verstandig om er in te houden). tip:
Hoef je niet zo complex te hannesen met regex.
De INPUT wordt bewaard in een JSON bestand en daaruit weer opgevraagd en getoond in het FORM.
En tegelijkertijd bewaard in een geformatteerd .html bestand dat is gebaseerd op een template (sjabloon).
In het FORM kan je een sjabloon kiezen, zodat je met dezelfde INPUT diverse uitvoerbestanden kan maken.
tekst_sjabloon_1.html
tekst_sjabloon_2.html
tekst_uitvoeren.php PHP bestand
Is dit een idee?
Toevoeging op 11/01/2022 17:27:09:
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
$myfile= "test.html"; // or .php
$string = file_get_contents($myfile);
$getcontent = preg_match('#(<p[^>]+id="check1"[^>]*>)(.*?)(<\/p>)#', $string, $matches );
$replace = trim( $matches[2] );
echo $replace;
if( isset($_GET['submit']) )
{
$replace = trim( $_REQUEST['mytext'] );
$output = preg_replace('!\s+!', ' ', $replace);
$replace = $output;
$content = preg_replace('#(<p[^>]+id="check1"[^>]*>).*?(</p>)#', '$1'.$replace.'$2', $string);
file_put_contents($myfile, $content);
echo $content;
echo $mytext;
}
?>
<form action="" method="get">
<textarea rows = "30" cols = "150" name = "mytext">
<?php echo htmlspecialchars($replace); ?>
</textarea>
<input type="submit" name="submit" value="send"></input>
</form>
$myfile= "test.html"; // or .php
$string = file_get_contents($myfile);
$getcontent = preg_match('#(<p[^>]+id="check1"[^>]*>)(.*?)(<\/p>)#', $string, $matches );
$replace = trim( $matches[2] );
echo $replace;
if( isset($_GET['submit']) )
{
$replace = trim( $_REQUEST['mytext'] );
$output = preg_replace('!\s+!', ' ', $replace);
$replace = $output;
$content = preg_replace('#(<p[^>]+id="check1"[^>]*>).*?(</p>)#', '$1'.$replace.'$2', $string);
file_put_contents($myfile, $content);
echo $content;
echo $mytext;
}
?>
<form action="" method="get">
<textarea rows = "30" cols = "150" name = "mytext">
<?php echo htmlspecialchars($replace); ?>
</textarea>
<input type="submit" name="submit" value="send"></input>
</form>
Toevoeging op 11/01/2022 17:27:36:
geen idee waar het doorkomt.
Ik krijg geen spaties of tabs erover en erachter, en die worden sowieso gestript door trim().
Toevoeging op 11/01/2022 17:46:04:
kan zo te zien geen bestand bijvoegen
Toevoeging op 11/01/2022 17:47:39:
bij de uitvoer als echo ... is er geen lege ruimte voor de tekst. in het formulier wel.
mhhh. vreeemd.
Toevoeging op 11/01/2022 17:50:07:
zat toch iets niet goed met de form. heb het invulveld van het formulier nu kleiner gemaakt. en is nu opgelost. heel gek. bedankt voor alle info en hulp. Heb veel aan jullie allemaal
Een uploadfunctie op dit forum faciliteren we niet.
Gewijzigd op 11/01/2022 18:02:03 door - Ariën -
Er staan er tig voor en na de php code
Code (php)
1
2
3
2
3
<textarea rows = "30" cols = "150" name = "mytext">
<?php echo htmlspecialchars($replace); ?>
</textarea>
<?php echo htmlspecialchars($replace); ?>
</textarea>
Doe het zo
Code (php)
1
<textarea rows = "30" cols = "150" name = "mytext"> <?php echo htmlspecialchars($replace); ?></textarea>
ah daar komt het door. wist niet dat dat effect zou hebben. bedankt hiervoor.
haal ook de spatie voor <¿php nog weg. (die regel van Adoptive hierboven dus)
Daar komt er een spatie voor de tekst.
Waarschijnlijk haal je die later weer weg met trim(), maar lijkt me beter om de oorzaak te onderdrukken, ipv het gevolg steeds te moeten oplossen met trim() (al is die trim sowieso wel verstandig om er in te houden).
Goede tip. Ivo. Zal in het vervolg de gehele php code mooi op elkaar aansluiten om dergelijke situaties in de toekomst te voorkomen.
Hoef je niet zo complex te hannesen met regex.
De INPUT wordt bewaard in een JSON bestand en daaruit weer opgevraagd en getoond in het FORM.
En tegelijkertijd bewaard in een geformatteerd .html bestand dat is gebaseerd op een template (sjabloon).
In het FORM kan je een sjabloon kiezen, zodat je met dezelfde INPUT diverse uitvoerbestanden kan maken.
tekst_sjabloon_1.html
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style>
h1 { font-style: italic; }
p { font-weight: bold; }
</style>
<h1>{H1}</h1>
<p>{CONTENT}</p>
<style>
h1 { font-style: italic; }
p { font-weight: bold; }
</style>
<h1>{H1}</h1>
<p>{CONTENT}</p>
tekst_sjabloon_2.html
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<meta http-equiv="Content-type" content="text/html; charset=utf-8" />
<style>
h1 { font-style: italic; }
p { font-weight: bold; }
div {max-width: 500px; border: 1px solid red; padding: 0.500em;}
</style>
<div>
<h1>{H1}</h1>
<p>{CONTENT}</p>
</div>
<style>
h1 { font-style: italic; }
p { font-weight: bold; }
div {max-width: 500px; border: 1px solid red; padding: 0.500em;}
</style>
<div>
<h1>{H1}</h1>
<p>{CONTENT}</p>
</div>
tekst_uitvoeren.php PHP bestand
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
<?php
$bewaarJSON_file = 'tekst_bewaar.json';
$tekst_template = 'tekst_sjabloon';
$tekst_uit = 'tekst_uit';
if( $_POST['submit'] && $_POST['title'] <> '' && $_POST['content'] <> '' )
{
$bewaarArr = [];
$bewaarArr['title'] = htmlspecialchars( trim( $_REQUEST['title'] ) );
$bewaarArr['content'] = htmlspecialchars( trim( $_REQUEST['content'] ) );
$bewaarJSON = json_encode( $bewaarArr );
file_put_contents( $bewaarJSON_file, $bewaarJSON );
$sjabloon = $_POST['sjabloon'];
$tekst_template = $tekst_template . '_' . $sjabloon . '.html';
$template = file_get_contents( $tekst_template );
$tekst_uit = $tekst_uit . '_' . $sjabloon . '.html';
$template = preg_replace( '^\{H1\}^', nl2br( $bewaarArr['title'] ), $template );
$template = preg_replace( '^\{CONTENT\}^', nl2br( $bewaarArr['content'] ), $template );
file_put_contents( $tekst_uit, $template );
} else {
$tekst_uit = $tekst_uit . '_1.html';
if ( !file_exists( $tekst_uit ) )
{
file_put_contents( $tekst_uit, '' );
}
}
if ( file_exists( $bewaarJSON_file ) )
{
$JSON_decoded = json_decode( file_get_contents( $bewaarJSON_file ), TRUE );
echo '<h4>Decoded JSON array</h4>';
echo '<pre>' . print_r( $JSON_decoded, TRUE ) . '</pre>';
echo '<h4>Decoded text</h4>';
echo $JSON_decoded['title'] . '<br />' . PHP_EOL;
echo $JSON_decoded['content'] . '<br />' . PHP_EOL;
$title = $JSON_decoded['title'];
$content = $JSON_decoded['content'];
} else {
$tempArr = [];
file_put_contents( $bewaarJSON_file, json_encode( $tempArr ) );
}
?>
<script>
function clearInput() {
document.getElementById('title').value = '';
document.getElementById('content').value = '';
}
</script>
<form id="theForm" method="post">
<p><label for="sjabloon">Kies een sjabloon</label><br />
<select id="sjabloon" name="sjabloon">
<option value="1">Sjabloon 1</option>
<option value="2">Sjabloon 2</option>
</select></p>
<p><label for="title">Title (h1)</label><br />
<input type="text" id="title" name="title" value="<?php echo $title; ?>" /></p>
<p><label for="content">Inhoud (p)</label><br />
<textarea rows="5" cols = "80" id = "content" name = "content"><?php echo $content; ?></textarea></p>
<p><input type="submit" name="submit" /></p>
<p><input type="button" value="Wis Input" onclick="clearInput(); return false;" /></p>
</form>
<p><a href="<?php echo $tekst_uit; ?>" target="_blank">Toon uitvoerbestand</a></p>
<p><a href="<?php echo $bewaarJSON_file; ?>" target="_blank">Toon JSON bestand</a></p>
$bewaarJSON_file = 'tekst_bewaar.json';
$tekst_template = 'tekst_sjabloon';
$tekst_uit = 'tekst_uit';
if( $_POST['submit'] && $_POST['title'] <> '' && $_POST['content'] <> '' )
{
$bewaarArr = [];
$bewaarArr['title'] = htmlspecialchars( trim( $_REQUEST['title'] ) );
$bewaarArr['content'] = htmlspecialchars( trim( $_REQUEST['content'] ) );
$bewaarJSON = json_encode( $bewaarArr );
file_put_contents( $bewaarJSON_file, $bewaarJSON );
$sjabloon = $_POST['sjabloon'];
$tekst_template = $tekst_template . '_' . $sjabloon . '.html';
$template = file_get_contents( $tekst_template );
$tekst_uit = $tekst_uit . '_' . $sjabloon . '.html';
$template = preg_replace( '^\{H1\}^', nl2br( $bewaarArr['title'] ), $template );
$template = preg_replace( '^\{CONTENT\}^', nl2br( $bewaarArr['content'] ), $template );
file_put_contents( $tekst_uit, $template );
} else {
$tekst_uit = $tekst_uit . '_1.html';
if ( !file_exists( $tekst_uit ) )
{
file_put_contents( $tekst_uit, '' );
}
}
if ( file_exists( $bewaarJSON_file ) )
{
$JSON_decoded = json_decode( file_get_contents( $bewaarJSON_file ), TRUE );
echo '<h4>Decoded JSON array</h4>';
echo '<pre>' . print_r( $JSON_decoded, TRUE ) . '</pre>';
echo '<h4>Decoded text</h4>';
echo $JSON_decoded['title'] . '<br />' . PHP_EOL;
echo $JSON_decoded['content'] . '<br />' . PHP_EOL;
$title = $JSON_decoded['title'];
$content = $JSON_decoded['content'];
} else {
$tempArr = [];
file_put_contents( $bewaarJSON_file, json_encode( $tempArr ) );
}
?>
<script>
function clearInput() {
document.getElementById('title').value = '';
document.getElementById('content').value = '';
}
</script>
<form id="theForm" method="post">
<p><label for="sjabloon">Kies een sjabloon</label><br />
<select id="sjabloon" name="sjabloon">
<option value="1">Sjabloon 1</option>
<option value="2">Sjabloon 2</option>
</select></p>
<p><label for="title">Title (h1)</label><br />
<input type="text" id="title" name="title" value="<?php echo $title; ?>" /></p>
<p><label for="content">Inhoud (p)</label><br />
<textarea rows="5" cols = "80" id = "content" name = "content"><?php echo $content; ?></textarea></p>
<p><input type="submit" name="submit" /></p>
<p><input type="button" value="Wis Input" onclick="clearInput(); return false;" /></p>
</form>
<p><a href="<?php echo $tekst_uit; ?>" target="_blank">Toon uitvoerbestand</a></p>
<p><a href="<?php echo $bewaarJSON_file; ?>" target="_blank">Toon JSON bestand</a></p>