CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken |
18.03.2004, 08:15:30
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
in Array Semikolon finden finden
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?
|
18.03.2004, 08:58:39
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
Ich vermute, $ar_work[$k][$x] ist kein Array, sondern ein Array-Eintrag. Dann mußt Du $ar_work[$k] angeben.
|
18.03.2004, 09:08:34
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
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
|
18.03.2004, 10:02:18
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
Wenn die Fehlermeldung in dieser Zeile kommt:
if(in_array($suchzeichen,$ar_work[$k][$x])){
dann ist $ar_work[$k][$x] kein Array, sondern ein String. Die Funktion in_array() verlangt aber als 2. Argument ein Array.
Versuche es mal so:
if(stristr($ar_work[$k][$x], ";")){
str_replace(";", "-", $ar_work[$k][$x]);
|
18.03.2004, 10:05:03
|
SELFPHP Guru
|
|
Registriert seit: Jan 2004
Ort: Leipzig
Beiträge: 4.549
|
|
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...
|
18.03.2004, 10:35:43
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
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?
|
18.03.2004, 11:19:09
|
Member
|
|
Registriert seit: Apr 2003
Ort: 49.54, 8.35 - 3./9
Beiträge: 878
|
|
Du kannst bei stristr() als needle den ASCII-Wert des Suchzeichens angeben. Versuchs doch mal damit.
|
18.03.2004, 12:06:57
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
@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
|
18.03.2004, 12:13:42
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
@feuervogel
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
|
18.03.2004, 12:38:34
|
Anfänger
|
|
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
|
|
Mein Fehler die ASCII Tabelle die ich gefunden habe ist nicht korrekt!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 17:24:48 Uhr.
|