SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



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



:: Buchempfehlung ::

Der CSS-Problemlöser

Der CSS-Problemlöser zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.03.2004, 09:15:30
shewolf shewolf ist offline
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?
Mit Zitat antworten
  #2  
Alt 18.03.2004, 09:58:39
Marilu Marilu ist offline
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.
Mit Zitat antworten
  #3  
Alt 18.03.2004, 10:08:34
shewolf shewolf ist offline
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
Mit Zitat antworten
  #4  
Alt 18.03.2004, 11:02:18
Marilu Marilu ist offline
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]);
Mit Zitat antworten
  #5  
Alt 18.03.2004, 11:05:03
feuervogel feuervogel ist offline
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...
Mit Zitat antworten
  #6  
Alt 18.03.2004, 11:35:43
shewolf shewolf ist offline
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?
Mit Zitat antworten
  #7  
Alt 18.03.2004, 12:19:09
Marilu Marilu ist offline
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.
Mit Zitat antworten
  #8  
Alt 18.03.2004, 13:06:57
shewolf shewolf ist offline
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
Mit Zitat antworten
  #9  
Alt 18.03.2004, 13:13:42
shewolf shewolf ist offline
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
Mit Zitat antworten
  #10  
Alt 18.03.2004, 13:38:34
shewolf shewolf ist offline
Anfänger
 
Registriert seit: Oct 2002
Alter: 50
Beiträge: 24
Mein Fehler die ASCII Tabelle die ich gefunden habe ist nicht korrekt!
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 07:49:04 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt