Maranello-550
23-05-2003, 00:10
Nabend Leute,
Ich habe folgenden Code:
$words = file("wortliste.txt");
$awords = explode("|",$words);
$bwords = implode("', ' ",$awords);
$reihe = array("$bwords");
$kkt = str_replace($reihe,"####",$kt);
echo $kkt;
wortliste.txt sieht dann so aus:
ab|aber|abgesehen|alle|allein|aller|alles|als|also|am|an|andere|anderen|anderenfalls|
$kt wird aus einer datenbank geholt und ist natürlich ein text.
Ich hab schon einiges versucht. wenn ich die wörter manuell in das array schreibe klappts, aber sonst nicht.
und ich weiß einfach nicht warum.
ich hoffe ihr könnt mir helfen :)
ungetestet
$words = file("wortliste.txt");
$awords = explode("|",$words);
$bwords = array();
for($i=0;$i<count($words);$i++)
$bwords[] = "####";
$kkt = str_replace($awords, $bwords, $kt);
echo $kkt;
hatten wir schon oft
$text = preg_replace("#(" . implode("|", $words) . ")#ise",
"substr('\\1',0,1).str_repeat('*',strlen('\\1')-1)",
$text);
macht aus "Wort" ein "W***"
Maranello-550
23-05-2003, 13:18
Der Code von TBT funktioniert.
Ich wollte aber alle Wörter, die in der wortliste vorkommen aus dem Text herausfiltern und nicht durch "*" ersetzen, sondern einfach rausstreichen. Zudem werden aus wörtern wie "abwaschen" "a*waschen", da das wort "ab" in der liste steht - was nicht passieren sollte.
Mein eigentliches ziel war es aus einem eingegebenen text die keywords automatisch zu erstellen. bei langen texten aus einer langen datenbank würde dies eine suchefunktion erleichter bzw. verschnellern.
Ich versteh auch nicht, was an meinem anfänglichen Code falsch war :rolleyes:
oder bin ich bei meinem vorhaben mit dieser methode auf dem holzweg?
:)
Original geschrieben von Maranello-550
Ich versteh auch nicht, was an meinem anfänglichen Code falsch war :rolleyes:
hast du dir das array $reihe mal ausgeben lassen?
ich bezweifle, dass
$reihe = array("$bwords");
funktioniert...
Maranello-550
24-05-2003, 13:10
Also foreach() ?!?
Und wie kann ic das da anwenden?
Ich habe mir das schon im Manual angesehen, konnte aber nicht wirklich was funktionierendes bauen...
:goth: hast du nicht oben zwei beispiele bekommen? eines von TBT und eines von mir? warum willst du das rad jetzt neu erfinden?
foreach ist wohl n bisschen aufwändig: print_r() reicht!
Maranello-550
25-05-2003, 23:18
hab es jetzt einfach direkt ins array geschrieben.
(warum kompliziert, wenn es auch einfach geht ;) )
danke euch für eure hilfe.