WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik



Im Homepage und Webhosting-Forum --- Reguläre Ausdrücke

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.

Forum » PHP & MySQL » Reguläre Ausdrücke - 21 Nov 2024 Antworten
im Forum für Webhosting Homepage gefunden:
Reguläre Ausdrücke
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

1:
$check = ereg("^(.+.)$", $result[link], $splitlink);  


Ich möchte den Link ausgegeben bekommen der eigentlich $splitlink[1] sein müsste und den Linknamen der $splitlink[2] sein müsste, allerdings funktioniert das nicht so richtig. Woran könnte das liegen? Mekwürdiger Weise hat das Script gestern noch funktioniert glaube ich.

---
Just Peace!

Diese Nachricht wurde geändert von: languitar
  Profil   E-Mail   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

Ah Ok es funktioniert. Das Problem lag darin das ja bei Mysql automatisch slashes vor die " gemacht werden und die hatte ich bei der Vorgabe vergessen...

"wens interessiert "

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

MySQL macht nicht automatisch Slashes vor irgendwelche Zeichen. Im Gengenteil - man muss dieses Escaping manuell erledigen (mysql_escape_string()). Es gilt auch nur für das SQL - inder DAtenbank selbst und beim Auslesen bekommt man wieder das Original.

PHP macht mit der Option magic_quotes_gpc Slashes in diversen Benutzereingaben. Darauf sollte man sich jedoch nicht verlassen und die Option lieber deaktivieren.

Außerdem nutzt du ereg - die Posix-RegEx sind um vieles langsamer und können weniger als die PCRE (preg_*). Auch solltest du RegEx immer in Single Quotes schreiben. Damit mußt du nicht mehr so viele Zeichen in der RegEx escapen und sie bleibt lesbarer.

Interessant finde ich die Subpattern .+. - mindest eines aber beliebig viele Zeichen gefolgt von genau einem beliebigen Zeichen. Wozu dienen Sie? - Warum nicht [^"]+?

---
Weaverslave

  Profil   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

Das mit dem Punkt war ein Fehler irgendwie waren die Sachen teilweise ziemlich dämlich da ich durcheinander gekommen bin, da teilweise Slashes hinzugefügt worden sind und teilweise nicht. Ich hab das dann entfernt jetzt werde ich das nochmal überarbeiten.
fg

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

Merkwürdig... wenn ich die Punkte weg lasse bekomme ich eine Fehlermeldung! Woran könnte das liegen?

Folgendermaßen sieht der Reguläre ausdruck jetzt aus

^.+.href=\"(.+.)\"+>(.+.)<+$

funktioniert nur wenn ich die punkte da lass bei den such klammern.

---
Just Peace!

Diese Nachricht wurde geändert von: ATooM
  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Weil der eine Punkt notwendig ist - [b].+[b] - Ein beliebiges Zeichen (der Punkt) mindestens einmal und beliebig oft (das Plus).

---
Weaverslave

  Profil   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

Ich hab das noch nicht genau verstanden warum der Punkt notwendig ist.

Könntest du vieleicht schnell das entsprechende bsp. schreiben wenn der Link lautet
Google.de
Ich möchte http://www.google.de und Google.de daraus haben.

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Nein das kann ich nicht - im PHP-Manual auf http://de.php.net/pcre findest du jede Menge Infos zu den Perl Compatiblen Regulären Ausdrücken. In den Usercomments (unten) gibt es noch mehr Links.

Dir fehlt ein grundsätzliches Verständnis. Im Gesatz zu den simplen Patterns der Windows-Suche sind echte Regex immer in Zeichenklasse und Quantifier aufgeteilt. Der Punkt gibt also an WAS erlaubt ist und das Plus WIE OFT.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

Gut... Ich glaub ich habs jetzt so langsam. Ich habe mich jetzt in den preg funktionen eingelesen. Nun habe ich folgendes erstellt:
/f=\"(.*)\"+>(.*)<+/

Was hälst du/ihr davon? Gibt es bessere Möglichkeiten?

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren
languitar
Foren-Team




Beiträge: 2795

Wenn du das ganze in einfache Anführunszeichen setzt, kannst du dir das escapen von " sparen.

  Profil   Editieren   Zitieren
subjective
Forenheld




Beiträge: 844

Außerdem glaube ich das vor 2 der Pluszeichen noch was fehlt.

---
Weaverslave

  Profil   Website   Editieren   Zitieren
ATooM
Quasselstrippe
Threadstarter




Beiträge: 345

ok, danke stimmt der Punkt.

---
Just Peace!

  Profil   E-Mail   Website   Editieren   Zitieren
 

Antworten
Forum » PHP & MySQL » Reguläre Ausdrücke

Aktuelle Beiträge zur Hilfe im Forum für Homepage - Reguläre Ausdrücke im Forum Homepage Hosting AntwortenLetztes Posting
Cybersicherheit für Unternehmen
in "PHP & MySQL"
3 18.11.2024 14:05 von Gaswer
Wirtschaftslage in der Ukraine
in "PHP & MySQL"
3 22.10.2024 15:04 von Gaswer
Rangliste (Ohne Mysql) (Kompliziertes Ordner System)
in "PHP & MySQL"
3 19.07.2021 06:00 von newtopblog
kleines problem mit phpadmin
in "PHP & MySQL"
5 11.04.2021 22:22 von Zavylon
Counter mit PHP
in "PHP & MySQL"
4 22.03.2021 16:29 von Robeni
Fehlermeldung beim Importieren der Datenbank in phpmyadmin
in "PHP & MySQL"
0 02.08.2019 22:14 von iFuchs
CMS für Online Shop
in "PHP & MySQL"
18 26.05.2019 13:29 von raiserle
Regestrierungproblem
in "PHP & MySQL"
3 28.11.2018 13:20 von norbertofahey
PHP Datum ausgeben?
in "PHP & MySQL"
1 19.10.2018 10:04 von Klaus1973
PHP befehl ausführen
in "PHP & MySQL"
11 16.08.2018 09:08 von Klaus1973
Visual Composer selber programmieren?
in "PHP & MySQL"
0 22.01.2017 23:45 von Redji



Besucher : 8126516    Heute : 434     Gestern : 463     Online : 221     21.11.2024    13:58      1 Besucher in den letzten 60 Sekunden        
alle 60.00 Sekunden ein neuer Besucher
Nach oben