hallo!
ich suche eine funktion mit der ich in einem Array nach Semikolons suchen kann.
mit in_array hab ichs probiert : Fehler Wrong datatype for second argument
also für den suchbegriff
PHP-Code:
$search=";";
if(in_array($search,$ar_work[$k][$x])){
echo"Es wurde eine Semikolon gefunden, welches durch - ersetzt wurde.";
$ar_change= array(";" => "-");
$ar_work[$k][$x]= strtr($ar_work[$k][$x],$ar_change);
Vielleicht muss ich auch nur den Ausdruck fü das Semikolon anders schreiben?
in einer while schleife rufe ich vorher alle einträge des Arrays ab in einer weiteren for schleife begrenze ich dies auf bestimmte einträge
PHP-Code:
while(list($k,$v)=each($ar_work)){
for($x=0;$x<2;$x++){
$ar_work[$k][$x]=nl2br($ar_work[$k][$x]);//Zeilenumbrüche
$ar_work[$k][$x]=htmlspecialchars($ar_work[$k][$x]);//Sonderzeichen
$suchzeichen=";";
if(in_array($suchzeichen,$ar_work[$k][$x])){
echo"Es wurde eine Semikolon gefunden, welches durch - ersetzt wurde.";
$ar_change= array(";" => "-");
$ar_work[$k][$x]= strtr($ar_work[$k][$x],$ar_change);
}
}
So siehts aus
der String im array den ich durchsiuchen will liegt aber in $ar_work[$k][$x]?
Also muss ich das angeben sonst wird ja nicht der richtige Array-Eintrag durchsucht
du sagst selbst, dass ein array-eintrag durchsucht wird...wieso benutzt du dann in_array() ??? du suchst doch im prinzip nicht in einem array sondern in einem string...
die fehlermeldung
Wrong datatype for second argument
sagt doch genau das.
und zwar nicht für den suchbegriff, sondern für das, worin du suchst...dein suchbegriff ist ja das semikolon...
wie wärs mit str_replace dann werden einfach alle semikolons automatisch ersetzt...
Oh ja das hat mir schon ein wenig weiter geholfen.
zumindest kann ich jetzt die if-Abfrage starten
ABER: er erkennt jeden Array-Eintrag egal ob Semikolon enthalten oder nicht
Gebe ich als needle einen Buchstaben ein der tasächlich nicht vorhanden ist, so wird die if-Abfrage richtig ausgeführt, nämlich nicht(false)
also liegt es am semikolon? Der Ausdruck ";" scheint nicht korrekt zu sein?
@Marilu:
Ah ja danke
klingt logisch
und steht ja auch in der Funktionsreferenz ;) (wer lesen kann..)
So ich hab das mal probiert
PHP-Code:
$search=108;
if(stristr($ar_work[$k][$x],$search)){
$ar_change= array(";" => "-");
$ar_work[$k][$x]= strtr($ar_work[$k][$x],$ar_change);
echo"Ein Semikolon wurde gefunden und entfernt";
}
Natürlich ist 108 keine Semikolon
Wenn ich nun 059 für Semikolon einstelle findet er aber nix!
Warum nur?
Wäre nett wenns auch dafür ne Lösung gäbe
Danke
ja ist schon klar ich hab mich falsch ausgedrückt,Und bin vorher falsch an die aufgabe heran gegangen.
ich brauche erst eine Suchabfrage um dann später eine Meldung heraus zu geben falls Semikolon gefunden wurde
deshalb such ich erst nach einer funktion mit der ich abfragen kann ob vorhanden? und dann lösche oder ändere ich und gebe eine Meldung aus