Ich habe folgendes Problem.
Ich habe zwei Tabellen. In der einen befindet sich der Text und in der anderen verschiedene Personen. Nun möchte ich das bei der Ausgabe verglichen wird ob in dem Text eine Person vorkommt die sich auch in der Tabelle mit den Personen befindet. Wenn dem so ist soll der Name im Text durch einen Link ausgetauscht werden.
Nun habe ich folgendes Problem. Soweit klappt das auch, nur wird leider nur die erste gefundene Person in der Tabelle[Person] im Text ausgetauscht auch wenn im Text selber mehrere Personen sind, die eigentlich auch in der Tabelle [Person] ist.
Hier der Quellcode:
Wie bekomme ich es hin, das alle Namen im Text ausgetauscht werden, und nicht nur der erste gefundene?
Ich habe zwei Tabellen. In der einen befindet sich der Text und in der anderen verschiedene Personen. Nun möchte ich das bei der Ausgabe verglichen wird ob in dem Text eine Person vorkommt die sich auch in der Tabelle mit den Personen befindet. Wenn dem so ist soll der Name im Text durch einen Link ausgetauscht werden.
Nun habe ich folgendes Problem. Soweit klappt das auch, nur wird leider nur die erste gefundene Person in der Tabelle[Person] im Text ausgetauscht auch wenn im Text selber mehrere Personen sind, die eigentlich auch in der Tabelle [Person] ist.
Hier der Quellcode:
PHP-Code:
<?php
$dbcnx = mysql_connect("$host", "$user", "$passwort");
mysql_select_db("$datenbank");
$result = @mysql_query("SELECT * FROM hefte WHERE (link='$link')");
$result2 = @mysql_query("SELECT * FROM lexikon");
if (!$result) {
echo("Fehler beim Abruf der Daten aus der Datenbank!");
exit();
}
while ($row = mysql_fetch_array($result) AND $row2 = mysql_fetch_array($result2)) {
$vari = "$row[inhalt]";
$array_1 = array("$row2[name]");
$array_2 = array("<a href='$row2[link].html'>$row2[name]</a>");
for($x=0;$x<200;$x++){
$vari = str_replace($array_1[$x],$array_2[$x],$vari);
}
echo str_replace(" "," ",$vari);
}
?>
Kommentar