Guten Abend
Erstmal ein Hallo an Alle. Wie man schwer erkennen kann bin ich neu hier, und freue mich das ich dieses Board heute gefunden habe.
Aber wie das leben schon spielt habe ich bereits ein Problem mit preg_replace.
Ich bin mir grad ein kleines Ratespiel am erstellen, wofür ich preg_replace benötige.
Folgenden Code habe ich bisher:
Nach der WHILE wird das ganze dann via preg_replace ersetzt. In der Datenbank ist einfach nur das Suchwort drin und was er ersetzen soll. Diese Funktion wird bei jedem Eintrag aufgerufen. Also macht er das bei 5 Einträgen 5 mal (ähnlich wie bei einem Gästebuch eigentlich). Soweit funktioniert dies eigentlich auch.
Nun zu meinen Problemen:
Sagen wir mal ich Suche nach test5 und nach test6:
1. So wie ich es habe werden die ersetzt. Jedoch nicht alle und teils zuviel. Ich möchte z.b. das er aaatest5aaa, test5aaa, aaatest5 oder test5-test nicht ersetzt, oder www.test.test5 auch nicht etc. Das selbe Problem ist zur Zeit wenn ich auf einer Zeile nur noch test5 am schluss habe, wird dies auch nicht ersetzt. Nun hier die Frage, kann ich preg_replace irgendwie erweitern, dass er mir dies macht wie gewünscht?
2. Gibt es eine möglichkeit "Sätze" zu beachten?
Also sagen wir ich habe als suchwörter test5, test6 und test5 test6.
nun soll er mir bei einem Satz wo "test5 test6" so vorkommt, dies auch mit dem aus test5 test6 ersetzt und nicht einzeln?
Ich würde mich freuen wenn mir einer weiterhelfen kann.
Gruss
Katharina
Erstmal ein Hallo an Alle. Wie man schwer erkennen kann bin ich neu hier, und freue mich das ich dieses Board heute gefunden habe.
Aber wie das leben schon spielt habe ich bereits ein Problem mit preg_replace.
Ich bin mir grad ein kleines Ratespiel am erstellen, wofür ich preg_replace benötige.
Folgenden Code habe ich bisher:
PHP-Code:
$quizfirst_result = mysql_query("SELECT * FROM quiz_firstq ORDER BY firstq_title ASC");
while($quiz_row = $db->fetch_array($quizfirst_result)) {
$qclassthis->search[] = "/ $quiz_row[firstq_title]/i";
$qclassthis->replace[] = " <u>$quiz_row[firstq_ersatz]</u>";
$qclassthis->search[] = "/$quiz_row[firstq_title] /i";
$qclassthis->replace[] = "<u>$quiz_row[firstq_ersatz]</u> ";
$qclassthis->search[] = "/$quiz_row[firstq_title] /i";
$qclassthis->replace[] = "<u>$quiz_row[firstq_ersatz]</u> ";
$qclassthis->search[] = "/ $quiz_row[firstq_title] /i";
$qclassthis->replace[] = " <u>$quiz_row[firstq_ersatz]</u> ";
}
Nun zu meinen Problemen:
Sagen wir mal ich Suche nach test5 und nach test6:
1. So wie ich es habe werden die ersetzt. Jedoch nicht alle und teils zuviel. Ich möchte z.b. das er aaatest5aaa, test5aaa, aaatest5 oder test5-test nicht ersetzt, oder www.test.test5 auch nicht etc. Das selbe Problem ist zur Zeit wenn ich auf einer Zeile nur noch test5 am schluss habe, wird dies auch nicht ersetzt. Nun hier die Frage, kann ich preg_replace irgendwie erweitern, dass er mir dies macht wie gewünscht?
2. Gibt es eine möglichkeit "Sätze" zu beachten?
Also sagen wir ich habe als suchwörter test5, test6 und test5 test6.
nun soll er mir bei einem Satz wo "test5 test6" so vorkommt, dies auch mit dem aus test5 test6 ersetzt und nicht einzeln?
Ich würde mich freuen wenn mir einer weiterhelfen kann.
Gruss
Katharina
Kommentar