Und welche Alternativen gibt es?
Variante A:
Für statische Dateien und das Linux-Terminal gibt es da was:
1.Die Webseite lesen, Wort­un­getümer identifizieren.
- Datei umbrueche.sed anlegen:
s/Deutschland/Deutsch\­land/g
s/Österreich/Öster\­reich/g
s/Schengenabkommen/Schen­gen­ab­kommen
…
Und dann:
backupExtension=$(date "+%Y%m%d_%H%I%S");
find ./ -name "*.html" -exec sed -i".backup_${backupExtension}" -f umbrueche.sed {} \;
Variante B, in PHP für Text jeglicher Herkunft, "on the fly"
<?php
class zeilenumbruch {
private $s;
private $r;
function __construct () {
# Normalerweise würde man das aus einer Textdatei auslesen:
$this ->s[] = 'Deutschland';
$this ->r[] = 'Deutsch­land';
$this ->s[] = 'Österreich';
$this ->r[] = 'Öster­reich';
$this ->s[] = 'Schengenabkommen';
$this ->r[] = 'Schen­gen­ab­kommen';
# ...
}
function trenne ( $str ) {
return str_replace ( $this -> s, $this -> r, $str );
}
}
$text="Deutschland und Österreich schaffen das Schengenabkommen ab.";
$zub = new zeilenumbruch();
print $zub -> trenne ( $text );
echo "\n";
Und dann wäre da noch die, - theoretisch - einfachste Lösung C:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<style>
p {
hyphens: auto;
-ms-hyphens: auto;
-webkit-hyphens: auto;
}
p.wb {
word-break: break-word;
}
p.brutal {
word-break: break-all;
}
</style>
</head>
<body>
<p>Deutschland und Österreich schaffen das Schengenabkommen ab. Das Schengenabkommen schaffen Deutschland und Österreich ab.</p>
<p class="wb">Deutschland und Österreich schaffen das Schengenabkommen ab. Das Schengenabkommen schaffen Deutschland und Österreich ab.</p>
<p class="brutal">Deutschland und Österreich schaffen das Schengenabkommen ab. Das Schengenabkommen schaffen Deutschland und Österreich ab.</p>
<hr>
<p>Deutsch­land und Öster­reich schaffen das Schen­gen­ab­kommen ab. Das Schen­gen­ab­kommen schaffen Deutsch­land und Öster­reich ab.</p>
<p class="wb">Deutsch­land und Öster­reich schaffen das Schen­gen­ab­kommen ab. Das Schen­gen­ab­kommen schaffen Deutsch­land und Öster­reich ab.</p>
</body>
</html>