Commit ab59fb2d authored by Felix Eckhofer's avatar Felix Eckhofer 🤹🏼
Browse files

use utf-8 consistently

iso-8859 did not work with my new server configuration and i did not
feel like fixing it.
parent d1e5dc46
...@@ -17,37 +17,37 @@ ...@@ -17,37 +17,37 @@
/* **************************************************************** */ /* **************************************************************** */
/* CONFIGURATION */ /* CONFIGURATION */
/* **************************************************************** */ /* **************************************************************** */
$min_width = 1; // minimale wortlnge $min_width = 1; // minimale wortlänge
$max_width = 15; // maximale wortlnge $max_width = 15; // maximale wortlänge
$def_width = 4; // standard wortlnge $def_width = 4; // standard wortlänge
$height = 15; // anzahl worteingabefelder $height = 15; // anzahl worteingabefelder
$dictfiles = array( // wrterbuchdateien $dictfiles = array( // wörterbuchdateien
"Deutsche Wrter" => "german.dic", "Deutsche Wörter" => "german.dic",
"Deutsche Stdte" => "staedte.dic", "Deutsche Städte" => "staedte.dic",
"Deutsche Stdte und Gemeinden" => "gemeinden.dic", "Deutsche Städte und Gemeinden" => "gemeinden.dic",
"KFZ-Kennzeichen Deutschland" => "kfz.dic", "KFZ-Kennzeichen Deutschland" => "kfz.dic",
"Automarken" => "autos.dic", "Automarken" => "autos.dic",
"Tiere" => "tiere.dic" "Tiere" => "tiere.dic"
); );
$width_modes = array( // modi fr wortlnge $width_modes = array( // modi für wortlänge
"exakt", // "normal" "exakt", // "normal"
"zwischen" // "spezial" "zwischen" // "spezial"
); // bei nderungen hier muss die logik ); // bei änderungen hier muss die logik
// entsprechend angepasst werden // entsprechend angepasst werden
/* **************************************************************** */ /* **************************************************************** */
/* DEFAULTS */ /* DEFAULTS */
/* **************************************************************** */ /* **************************************************************** */
$width = $def_width; // gew. (max.) wortlnge $width = $def_width; // gew. (max.) wortlänge
$dict = 0; // nummer des gew. wrterbuchs $dict = 0; // nummer des gew. wörterbuchs
$dictfile = current($dictfiles); // dateiname des gew. wrterbuchs $dictfile = current($dictfiles); // dateiname des gew. wörterbuchs
$width_mode = 0; // modus fr wortlnge $width_mode = 0; // modus für wortlänge
/* **************************************************************** */ /* **************************************************************** */
/* USER INPUT */ /* USER INPUT */
/* **************************************************************** */ /* **************************************************************** */
if (isset($_GET['show_source'])) { if (isset($_GET['show_source'])) {
header('Content-Type: text/plain; charset=iso-8859-15'); header('Content-Type: text/plain; charset=utf-8');
readfile(__FILE__); readfile(__FILE__);
exit; exit;
} }
...@@ -89,11 +89,11 @@ if (isset($_REQUEST['dict'])) { ...@@ -89,11 +89,11 @@ if (isset($_REQUEST['dict'])) {
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd"> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/loose.dtd">
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="description" content="Tool zum Lsen von Buchstabenrtseln (Platzhalter) wie es bei Call-In-Formaten wie 9live oder Money Express gespielt wird. Das Programm hat Listen fr <?php echo implode(", ", array_flip($dictfiles)); ?>"> <meta name="description" content="Tool zum Lösen von Buchstabenrätseln (Platzhalter) wie es bei Call-In-Formaten wie 9live oder Money Express gespielt wird. Das Programm hat Listen für <?php echo implode(", ", array_flip($dictfiles)); ?>">
<meta name="author" content="Felix Eckhofer"> <meta name="author" content="Felix Eckhofer">
<meta name="robots" content="index,follow"> <meta name="robots" content="index,follow">
<title>Lsungshilfe fr "Wort mit <?php echo $width; ?> Buchstaben"</title> <title>Lösungshilfe für "Wort mit <?php echo $width; ?> Buchstaben"</title>
<script language="JavaScript" type="text/javascript"> <script language="JavaScript" type="text/javascript">
<!-- <!--
function advance(currentField,nextField) { function advance(currentField,nextField) {
...@@ -121,13 +121,13 @@ fieldset { ...@@ -121,13 +121,13 @@ fieldset {
<body> <body>
<h1>Platzhalter-Spiel</h1> <h1>Platzhalter-Spiel</h1>
<h2>Wort-mit-<?php echo ($width_mode==1?'(maximal)-':'') . $width; ?>-Buchstaben-Rtsel</h2> <h2>Wort-mit-<?php echo ($width_mode==1?'(maximal)-':'') . $width; ?>-Buchstaben-Rätsel</h2>
<form method="get" action="<?php echo str_replace('"', '', $_SERVER['REQUEST_URI']); ?>"> <form method="get" action="<?php echo str_replace('"', '', $_SERVER['REQUEST_URI']); ?>">
<fieldset> <fieldset>
<legend>Einstellungen</legend> <legend>Einstellungen</legend>
<p>Wieviele Buchstaben sollen die gesuchten Wrter haben?</p> <p>Wieviele Buchstaben sollen die gesuchten Wörter haben?</p>
<select name="width_mode" onchange="javascript:document.forms[0].submit()"> <select name="width_mode" onchange="javascript:document.forms[0].submit()">
<?php <?php
...@@ -162,7 +162,7 @@ for ($i = $min_width; $i <= $max_width; $i++) { ...@@ -162,7 +162,7 @@ for ($i = $min_width; $i <= $max_width; $i++) {
} }
?> ?>
</select> </select>
<p>Welches Wrterbuch soll benutzt werden?</p> <p>Welches Wörterbuch soll benutzt werden?</p>
<select name="dict" onchange="javascript:document.forms[0].submit()"> <select name="dict" onchange="javascript:document.forms[0].submit()">
<?php <?php
$i = 0; $i = 0;
...@@ -173,7 +173,7 @@ foreach ($dictfiles as $name => $file) { ...@@ -173,7 +173,7 @@ foreach ($dictfiles as $name => $file) {
?> ?>
</select> </select>
<noscript><br><br><input name="change" type="submit" value="bernehmen"></noscript> <noscript><br><br><input name="change" type="submit" value="Übernehmen"></noscript>
<small>(<a href="https://github.com/tribut/tools/tree/master/platzhalter/dic">Quellen und Download</a>)</small> <small>(<a href="https://github.com/tribut/tools/tree/master/platzhalter/dic">Quellen und Download</a>)</small>
...@@ -207,7 +207,7 @@ echo "<br>\n"; ...@@ -207,7 +207,7 @@ echo "<br>\n";
<fieldset> <fieldset>
<legend>Ausschluss</legend> <legend>Ausschluss</legend>
<p>Hier werden die Buchstaben vorgegeben, die an entsprechenden Stelle <em>nicht im Wort vorkommen sollen</em>.</p> <p>Hier werden die Buchstaben vorgegeben, die an entsprechenden Stelle <em>nicht im Wort vorkommen sollen</em>.</p>
<p>Wird also in einer Reihe "WELT" eingegeben, wird nach Wrtern gesucht, die an erster Stelle kein 'W', an zweiter Stelle kein 'E', an dritter Stelle kein 'L' und an vierter Stelle kein 'T' enthalten. Gibt es fr die entsprechende Position eine Vorgabe, wird das Ausschlusskriterium ignoriert.</p> <p>Wird also in einer Reihe "WELT" eingegeben, wird nach Wörtern gesucht, die an erster Stelle kein 'W', an zweiter Stelle kein 'E', an dritter Stelle kein 'L' und an vierter Stelle kein 'T' enthalten. Gibt es für die entsprechende Position eine Vorgabe, wird das Ausschlusskriterium ignoriert.</p>
<?php <?php
for ($i = 0; $i < $height; $i++) { for ($i = 0; $i < $height; $i++) {
for ($j = 0; $j < $width; $j++) { for ($j = 0; $j < $width; $j++) {
...@@ -222,14 +222,14 @@ for ($i = 0; $i < $height; $i++) { ...@@ -222,14 +222,14 @@ for ($i = 0; $i < $height; $i++) {
</fieldset> </fieldset>
<fieldset> <fieldset>
<legend>Zulssige Buchstaben</legend> <legend>Zulässige Buchstaben</legend>
<p>Wenn das Feld ausgefllt wird, werden nur Worte gesucht, die sich aus den <em>Buchstaben der Eingabe bilden lassen</em>.</p> <p>Wenn das Feld ausgefüllt wird, werden nur Worte gesucht, die sich aus den <em>Buchstaben der Eingabe bilden lassen</em>.</p>
<p>Wird hier also zum Beipiel "Brocken" eingegeben, lsst sich daraus BOCK bilden, nicht aber ECKE oder BRATEN).</p> <p>Wird hier also zum Beipiel "Brocken" eingegeben, lässt sich daraus BOCK bilden, nicht aber ECKE oder BRATEN).</p>
<input type="text" name="buildfrom" size="20" value="<?php echo str_replace('"','',$_REQUEST['buildfrom']) ?>"> <input type="text" name="buildfrom" size="20" value="<?php echo str_replace('"','',$_REQUEST['buildfrom']) ?>">
</fieldset> </fieldset>
<input name="go" type="submit" value="Anzeigen"> <input name="go" type="submit" value="Anzeigen">
<input name="reset" type="submit" value="Eingaben zurcksetzen"> <input name="reset" type="submit" value="Eingaben zurücksetzen">
</form> </form>
...@@ -239,8 +239,8 @@ if (isset($_REQUEST['go'])){ ...@@ -239,8 +239,8 @@ if (isset($_REQUEST['go'])){
for ($i = 0; $i < $width; $i++) { for ($i = 0; $i < $width; $i++) {
for ($j = 0; $j < $height; $j++) { for ($j = 0; $j < $height; $j++) {
$formfield = 'value' . $j . $i; $formfield = 'value' . $j . $i;
if (preg_match('/^[A-Za-z]$/', $_REQUEST[$formfield])) { if (preg_match('/^[A-ZÖÄÜa-zöäüß]$/u', $_REQUEST[$formfield])) {
$values[$i][$j] = mb_strtoupper($_REQUEST[$formfield]); $values[$i][$j] = mb_strtoupper($_REQUEST[$formfield], 'UTF-8');
} }
} }
@$values[$i] = array_unique($values[$i]); @$values[$i] = array_unique($values[$i]);
...@@ -248,8 +248,8 @@ for ($i = 0; $i < $width; $i++) { ...@@ -248,8 +248,8 @@ for ($i = 0; $i < $width; $i++) {
$query = ''; $query = '';
for ($i = $width - 1; $i >= 0; $i--) { for ($i = $width - 1; $i >= 0; $i--) {
if (preg_match('/^[A-Za-z]$/', $_REQUEST['preset' .$i])){ if (preg_match('/^[A-ZÖÄÜa-zöäüß]$/u', $_REQUEST['preset' .$i])){
$query = '['.mb_strtoupper($_REQUEST['preset' .$i]).']' . $query; $query = '['.mb_strtoupper($_REQUEST['preset' .$i], 'UTF-8').']' . $query;
}else{ }else{
$subquery = ''; $subquery = '';
for ($j = 0; $j < $height; $j++) { for ($j = 0; $j < $height; $j++) {
...@@ -258,7 +258,7 @@ for ($i = $width - 1; $i >= 0; $i--) { ...@@ -258,7 +258,7 @@ for ($i = $width - 1; $i >= 0; $i--) {
} }
if (empty($subquery)) { if (empty($subquery)) {
$query = '([A-Z()&,0-9. -])' . $query; $query = '([A-ZÖÄÜß()&,0-9. -])' . $query;
}else{ }else{
$query = '([^' . $subquery . ' \n\r.])' . $query; $query = '([^' . $subquery . ' \n\r.])' . $query;
} }
...@@ -269,7 +269,7 @@ for ($i = $width - 1; $i >= 0; $i--) { ...@@ -269,7 +269,7 @@ for ($i = $width - 1; $i >= 0; $i--) {
} }
} }
$query = '/^' . $query . '$/'; $query = '/^' . $query . '$/u';
// echo $query; // echo $query;
$words = file($dictfile); $words = file($dictfile);
...@@ -277,7 +277,7 @@ $match = preg_grep($query, $words); ...@@ -277,7 +277,7 @@ $match = preg_grep($query, $words);
function is_built_from($word) function is_built_from($word)
{ {
$filter = mb_strtoupper($_REQUEST['buildfrom']); $filter = mb_strtoupper($_REQUEST['buildfrom'], 'UTF-8');
if (empty($filter)) { if (empty($filter)) {
return true; return true;
} }
...@@ -305,16 +305,16 @@ echo '</tt></div>'; ...@@ -305,16 +305,16 @@ echo '</tt></div>';
<div style="margin: 3em 1em 0 1em; border: 1px black dashed; text-align: center; font-size: 0.7em"> <div style="margin: 3em 1em 0 1em; border: 1px black dashed; text-align: center; font-size: 0.7em">
<p> <p>
Fragen / Anregungen / Kontakt / neues Wrterbuch: <a target="_blank" href="https://tribut.de/kontakt" >hier abgeben</a> Fragen / Anregungen / Kontakt / neues Wörterbuch: <a target="_blank" href="https://tribut.de/kontakt" >hier abgeben</a>
</p> </p>
<p> <p>
<!--[if lte IE 8]><span style="filter: FlipH; -ms-filter: "FlipH"; display: inline-block;"><![endif]--> <!--[if lte IE 8]><span style="filter: FlipH; -ms-filter: "FlipH"; display: inline-block;"><![endif]-->
<span style="-moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); display: inline-block;"> <span style="-moz-transform: scaleX(-1); -o-transform: scaleX(-1); -webkit-transform: scaleX(-1); transform: scaleX(-1); display: inline-block;">
&copy; &copy;
</span> </span>
<!--[if lte IE 8]></span><![endif]--> Der <a href="?show_source">Quelltext dieses Programms</a> (<a href="https://github.com/tribut/tools/tree/master/platzhalter">GitHub</a>) steht unter der <a href="https://www.gnu.org/copyleft/gpl.html" target="_blank">GNU GPL</a> zur Verfgung. <!--[if lte IE 8]></span><![endif]--> Der <a href="?show_source">Quelltext dieses Programms</a> (<a href="https://github.com/tribut/tools/tree/master/platzhalter">GitHub</a>) steht unter der <a href="https://www.gnu.org/copyleft/gpl.html" target="_blank">GNU GPL</a> zur Verfügung.
<span style="white-space: nowrap;"> <span style="white-space: nowrap;">
Letzte nderung: <?php echo date ("d.m.Y H:i", filemtime(__FILE__))?>. Letzte Änderung: <?php echo date ("d.m.Y H:i", filemtime(__FILE__))?>.
</span> </span>
</p> </p>
</div> </div>
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment