Mailinglisten-Archive |
Hallo Lutz,
> warum nimmst Du nicht str_replace()? :-)
weil ich mit dieser Funktion IMHO nicht nach einem alleinstehenden Wort
suchen kann: Milligramm wird mit mg abgekürzt. Würde ich mittels
str_replace() mg durch den Link ersetzen, würde der Link
fälschlicherweise auch im Wort Umgebung eingefügt werden.
Da meine Anlage nicht richtig übertragen wurde, füge ich den PHP-Code
hier ein.
Schöne Grüße
von Simon
-----
<?php
$words = array('BND', 'DSL', 'FTP', 'MAD', 'RTL', 'z. B.');
$text = 'Schwierigkeiten treten z. B. bei folgenden Sätzen auf:
FDP und Grüne wollen in der BND-Affäre nun auch den Militärischen
Abschirmdienst (MAD) und den Verfassungsschutz ins Visier nehmen.
T-DSL ist in vielen Anschlussbereichen verfügbar.
Der Werbe-Slogan lautet: "Mein RTL".
';
echo "<h2>Ausgangstext</h2>\n<p>$text</p>\n";
echo "<h2>Gesuchte Abkürzungen</h2>\n";
echo "<ul>";
foreach ($words as $word) {
echo "\n\t<li>$word</li>";
$search = preg_quote($word);
$search = '`(\W)('.$search.')(\W)|^('.$search.')(\W)`U';
$replace = '<a href="#">'.$word.'</a>';
$substitutions .= "\n\t<li>".htmlentities($search).'<br
/>'.htmlentities($replace).'</li>';
$text = preg_replace($search, $replace, $text);
}
echo "\n</ul>\n";
echo "<h2>Bearbeiteter Text</h2>\n<p>$text</p>\n";
echo "<h2>So wurde gesucht und ersetzt</h2>\n<ul>$substitutions\n</ul>";
?>
php::bar PHP Wiki - Listenarchive