Hallo!
Ich habe ein Problem mit folgendem Code:
<?php
$words = array('<a>', '[url]', '[link]');// In diesem Array werden verbotene Wörter gespeichert
$wordsLength = count($words); // Die Anzahl der Elemente des Arrays
echo "Anzahl der Werte im Array words: ".$wordsLength."<br>"; // Testausgabe um die Anzahl der Elemente zu kontrollierenfunction checkString($data){
for($i = 0; $i <= $wordsLength; $i++){
echo "Überprüfung der Varible i: ".$i."<br>"; // Überprüfung des Inhalts der Variablen
echo "Arrayausgabe: ".$words[1]."<br>"; // Überprüfung der Ausgabe des Arrays mit statischer Zahl
echo "Test: ".$words[$i]."<br>"; // Überprüfung der Ausgabe des Arrays mit dynamischer Zahl
if( eregi($words[$i], $data) ){
$punkte = $punkte + 1;
}
}
echo "Punkte: ".$punkte."<br>"; // Ausgabe des Wertes von $punke - eigentlich sollte der Wert jetzt 1 sein
}$text = "test test test <a> test test test";
checkString($text);
?>
> Ich möchte einen String durchsuchen. Und zwar sollen die Suchbegriffe in einem Array stehen. Könntet ihr mir bitte sagen, wo das Problem liegt?
>
> Die Ausgabe sieht übrigens so aus:
> ##################################
> Anzahl der Werte im Array words: 3
> Überprüfung der Varible i: 0
> Arrayausgabe:
> Test:
>
> Warning: eregi() [function.eregi]: REG\_EMPTY in D:\xampp\xampp\htdocs\scripts\blog\class.php on line 12
> Punkte:
> ##################################
>
> Vielen Dank für eure Hilfe!
>
> ciao, ww
<?php
$words = array('<a>', '[url]', '[link]');// In diesem Array werden verbotene Wörter gespeichert
$wordsLength = count($words); // Die Anzahl der Elemente des Arrays
echo "Anzahl der Werte im Array words: ".$wordsLength."<br>"; // Testausgabe um die Anzahl der Elemente zu kontrollieren
function checkString($data){
global $words, $wordsLength;
for($i = 0; $i < $wordsLength; $i++){
echo "Überprüfung der Varible i: ".$i."<br>"; // Überprüfung des Inhalts der Variablen
echo "Arrayausgabe: ".$words[1]."<br>"; // Überprüfung der Ausgabe des Arrays mit statischer Zahl
echo "Test: ".$words[$i]."<br>"; // Überprüfung der Ausgabe des Arrays mit dynamischer Zahl
if( eregi($words[$i], $data) ){
$punkte = $punkte + 1;
}
}
echo "Punkte: ".$punkte."<br>"; // Ausgabe des Wertes von $punke - eigentlich sollte der Wert jetzt 1 sein
}
$text = "test test test <a> test test test";
checkString($text);
?>
Du musst die globalen Variablen in der function zuerst bekannt machen.
Anzahl der Werte im Array words: 3
Überprüfung der Varible i: 0
Arrayausgabe: [url]
Test: <a>
Überprüfung der Varible i: 1
Arrayausgabe: [url]
Test: [url]
Überprüfung der Varible i: 2
Arrayausgabe: [url]
Test: [link]
Punkte: 1