Forum |
News |
Wiki |
Chats |
Portal |
Bilder |
Social Media |
github |
Proxied - Mobile Proxies |
Receive SMS |
Kontakt |
Abuse
N4p1![]() Hobby Sauger Registriert seit 4 JahrenBeiträge: 50 |
Hi liebe iLoader..
könnte mir jemand mal bitte sagen was ich hier falsch mache? irgendwie steig ich nich ganz durch das prinzip durch.. also ich habe preg_match schon erflogreich benutzt, um den titel und das kommentarfeld zu prüfen.. das funktioniert auch soweit.. hier der code dazu das problem ist, das ich es einfach nicht bzw. nur teilweise schaffe ein array anstelle der "/^[A-Z...]+$/i" angabe als match-bedingung festzulegen. code dazu sieht so aus und das array so das array wird natürlich schon vor der foreach schleife deklariert ![]() der gleiche code, if((preg_match("/$item$/i",....), funktioniert allerdings bei einem anderen array.. dort verwende ich vorher genau die gleiche foreach schleife, natürlich mit dem namen des anderen arrays ^^, allerdings dann nicht etwa $title oder $comment als zu überprüfende variable, sondern $_POST["title"].. deshalb die frage, wo liegt der fehler? ![]() denn auch bei der nicht funktionierenden schleife ist $title = $_POST["title"]; sollte doch also auch mit $title kein unterschied sein?!.. php meldet sich mit folgendem fehler zu wort: "on line 72 Warning: preg_match(): Unknown modifier '$'" und "on line 72 Warning: preg_match(): Compilation failed: nothing to repeat at offset 0" was mich darauf schliessen lässt, dass er das $ hinter "/$item" hier nicht erkennt..?! aber wieso tut er es dann bei der anderen? zu guter letzt gibt mir php hinter den fehlern dann doch noch ein "The title or description has some bad characters in it." aus.. bin für jede hilfe dankbar ![]() Gruß
"There is no such thing as a former KGB man" - Vladimir Putin
"He who Haha's last, Haha's best" - Nelson Muntz |
vor 2 Jahren | |
Gast Gelöschter Benutzer Registriert seit 3 JahrenBeiträge: 1.571 |
bräuchten den gesamten Code, denn der Fehler ist ja in Zeile 72, und leider kann man nicht sehen, wo er seine daten her holt.
![]() geht ganz einfach ⇓ Klick ⇓ |
vor 2 Jahren | |
N4p1![]() Threadstarter Hobby Sauger Registriert seit 4 JahrenBeiträge: 50 |
zeile 72 ist die if abfrage im ersten spoiler..
edit: ![]()
"There is no such thing as a former KGB man" - Vladimir Putin
"He who Haha's last, Haha's best" - Nelson Muntz |
vor 2 Jahren |
Editiert von N4p1 vor 2 Jahren
|
void666![]() Hobby Sauger Registriert seit 2 Jahren Beiträge: 38 |
Hallo,
ich kenn die regulären Ausdrücke zwar nur bei Java & kann es jetzt auch nicht testen, ob es funktioniert, aber mir sind mehrere Sachen an deinen Quellcode aufgefallen. 1. Zitat: "on line 72 Warning: preg_match(): Unknown modifier '$'" Das könnte darauf hindeuten, dass das zweite $-Zeichen als Variable fehlinterpretiert wird. Versuch mal die Metabedeutung davon aufzuheben, also \$ oder \\$. 2.im 2.Spoiler Zitat: (preg_match("/$item$/i",$title) Das liest sich so, als ob dieser Ausdruck nur als wahr erkannt wird, wenn der Titel genau aus einen deiner gebannten Zeichen besteht. Also zum Beispiel: if($title =="<"), da er ja das Array einzeln durchgeht. Besser wäre vielleicht dieser Ausdruck: (preg_match(".*/$item$.*/i",$title) & das Gleiche für $comment. Da matched er falls das gebannte Zeichen irgendwo im Titel vorkommt. Bei $_POST["title"] bekommst Du einen kompletten String übergeben, bei deiner Abfrage ist es nur ein einzelnes Zeichen. 3.im 1.Spoiler Zitat: "/^[0-9A-Za-zäöü_]+$/i" Ist nicht weiter wild, aber irgendwie doppelt gemoppelt. Du fragst in der Klammer die Groß- & Kleinbuchstaben ab und hinten über /i sagt Du Case-Insensitiv. Für wortähnliche Zeichen kann man übrigens auch \w verwenden. Also "^\w+\$/i" dürfte das Gleiche machen. Wie schon gesagt ich kann's nicht testen & mit PHP habe ich auch schon lange nichts mehr zu tun gehabt, aber ich hoffe es hilft Dir weiter. Gruß |
vor 2 Jahren |
Editiert von void666 vor 2 Jahren
|
N4p1![]() Threadstarter Hobby Sauger Registriert seit 4 JahrenBeiträge: 50 |
vielen dank für deine antwort
![]() zu 1. ich bin dem problem jetzt mal auf die schliche gekommen.. ![]() ich habe einfach mal jedes $item aus der foreach schleife abfragen lassen, und habe dabei gemerkt, dass er wohl teilweise ein problem, mit den im array gespeicherten daten hat.. er scheint z.b. das ..,"?",.. nicht zu mögen bzw dann nachher in der foreach schleife das ? fehl zu interpretieren. mit "\?" ist allerdings das problem, dass er dann natürlich nur auf \? und nicht auf ? prüft, allerdings funktioniert es so ohne fehler!.. ich lass mir dazu mal was einfallen.. zu 2. vielen dank erstmal für den tipp.. werd ich mal so machen, wobei ich hier bisher noch keine probleme feststellen konnte.. und zu 3. ja da hast du wohl recht ![]()
"There is no such thing as a former KGB man" - Vladimir Putin
"He who Haha's last, Haha's best" - Nelson Muntz |
vor 2 Jahren |
Editiert von N4p1 vor 2 Jahren
|
ppeter![]() iCom Jünger ![]() Registriert seit 4 Jahren Beiträge: 1.430 |
mmh doch blödsinn was ich da geschrieben hab^^ sry für sinnlosen Post
|
vor 2 Jahren |
Editiert von ppeter vor 2 Jahren
|