php-resource



Zurück   PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr > Entwicklung > PHP Developer Forum
 

Login

 
eingeloggt bleiben
star Jetzt registrieren   star Passwort vergessen
 

 

 


PHP Developer Forum Hier habt ihr die Möglichkeit, eure Skriptprobleme mit anderen Anwendern zu diskutieren. Seid so fair und beantwortet auch Fragen von anderen Anwendern. Dieses Forum ist sowohl für ANFÄNGER als auch für PHP-Profis! Fragen zu Laravel, YII oder anderen PHP-Frameworks.

Antwort
 
LinkBack Themen-Optionen Bewertung: Bewertung: 1 Stimmen, 5,00 durchschnittlich.
  #1 (permalink)  
Alt 23-05-2004, 16:33
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard include, require, require_once usw aus Text heraussuchen

Hallöchen,


Hab sämtliche Manuals usw. durch... ich verstehe REGEX einfach nicht...
Ich weiss nicht wie ich vorgehen muss wenn ich mir ein Ziel des Filterns vorgenommen habe, um die Zeichenfolgen zu definieren. Vielleicht könnte mir das mal jemand für idioten wie mich erklären, dann bleiben euch solche Fragen, die sich ja ständig wiederholen schon mal von mir erspart


Was muss ich beim preg_match_all("hier drin",$str, $out, PREG_PATTERN_ORDER);
benutzen, damit alle includes etc. angezeigt werden?


ich muss dazu sagen, dass der Quelltext nicht per Include reingeholt wird, sondern mit file_get_contents um einige Auswertungen vorzunehmen.


Wäre nett, wenn Ihr mir das auch anhand der Zeichen erklären könntet.


Viele Grüsse
David
Mit Zitat antworten
  #2 (permalink)  
Alt 23-05-2004, 16:36
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

du willst also alles,

include('hier')
require('undhier')
require(',hier,usw.')

steht, auslesen?

Dann lies dir mal unser entsprechendes Tutorial durch...
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #3 (permalink)  
Alt 23-05-2004, 16:45
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Du meinst das Tutorial "Reguläre Ausdrücke" von Sky?

Das hab ich ja auch schon durch.

Du kannst mir wirklich glauben, dass ich es wirklich versucht habe.
Ich schlage mir nun wirklich schon ein paar Tage mit REGEX um die Ohren.
Aber ich kann mir einfach keinen Reim daraus machen. Du hast mir mal einen gegeben, mit dem ich funktionen herausfiltern kann.

/(?<![a-z_0-9$])([a-z_][a-z_0-9]*)\s*\(.*\)/Ui

Nur das Ui das $ das \s sagen wir was...
wie ich diese anhand meiner Idee aufbaue, ist mir Schleierhaft.

Ich bräuchte wirklich mal eine Anweisung wie:

Wenn Du @|{³²³ in deinem Script haben willst, dann musst Du

ein Fragezeichen benutzen, weil .....
dann musst Du a-z benutzen, damit ....
usw.

Ich hoffe, dass das nicht unverschämt ist. Aber Regex gehört leider zu den Dingen, die ich mir "leicht" aneignen kann.


Viele Grüsse

David
Mit Zitat antworten
  #4 (permalink)  
Alt 23-05-2004, 16:51
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

aber das steht nun wirklich alles in dem tutorial.

du postest ja noch nicht mal deine ansätze.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #5 (permalink)  
Alt 23-05-2004, 16:54
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaube zwar, dass es den Rahmen sprengt, aber ich habe bisher folgende funktion genommen:

$str = file_get_contents($filename);
$count = preg_match_all ("|include[ ]+(.*)[\(](.*)[\)]|U", $str, $out, PREG_PATTERN_ORDER);

for ($i=0; $i < $count; $i++) {
if (!eregi('array',$out[1][$i])) {
$value = strtolower($out[1][$i]);
array_push($defined,$value);
}
}

Ich habe dann immer nach der Trial and Error Methode versucht das richtige Ergebnis zu bekommen...
Mit Zitat antworten
  #6 (permalink)  
Alt 23-05-2004, 16:55
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

wenn du die regex posten würdest, täte doch schon reichen.

begründe mir zunächst mal "[]". Was willst du damit? Was steht dazu im Tut? Wenn du das wirklich gelesen hast, kann man eigentlich gar nicht auf die Idee kommen.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #7 (permalink)  
Alt 23-05-2004, 16:56
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

kann ich dir leider nicht begründen, habe ich auf der php.net unter preg_match_all rausgesucht da stand ein Beispiel, wie man funktionen filtert. Ich weiss dass [] Aufzählungen beinhalten, aber warum es dort gerade ist, weiss ich nicht.
Mit Zitat antworten
  #8 (permalink)  
Alt 23-05-2004, 16:59
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Wenn ich blind alles möglich reinhaue, komm ich sicher nicht zur Lösung.

Du musst doch mindestens nen Ansatz, ne Idee haben, warum du was verwendest. Ansonsten kanns ja nur per Glück gehen. Programmierung sollte mit Glück aber gar nichts zu tun haben,
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #9 (permalink)  
Alt 23-05-2004, 17:04
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Da hast Du recht, mit Glück mache ich normalerweise auch nichts.

Ich kann natürlich nur die Theorie aufstellen:

Ein include require etc. kann folgendermassen aussehen:

include('Hallo.php');
include("hallo.php");
include "hallo.php"
include 'hallo.php';

das gleiche gilt für die anderen Befehle.

Dazu kommt noch, dass die Befehle require_once usw noch einen
Unterstrich beinhalten.

es soll gross und kleinschreibung ignoriert werden ALSO i am ende.
Das weiss ich. Aufzählung [a-z_A-Z][0-9] müsste eigendlich auch sein, oder? Aber mehr kann ich nicht aufzählen.
Mit Zitat antworten
  #10 (permalink)  
Alt 23-05-2004, 17:07
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

naja, wie man oder macht, steht im tut, charakterklassen setehen drin, ... steht eigentlich alles drin.
__________________
ERST LESEN: Unsere Regeln. | Ich hab schon Pferde kotzen sehn!

READ THIS: Strings richtig trennen/verbinden | JOINs, das leidige Thema | Wegwerf E-Mail Adressen

Ich kann und werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Mit Zitat antworten
  #11 (permalink)  
Alt 23-05-2004, 17:08
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich werde es nochmal versuchen.
Mit Zitat antworten
  #12 (permalink)  
Alt 23-05-2004, 17:31
derHund
 PHP Master
Links : Onlinestatus : derHund ist offline
Registriert seit: Aug 2003
Ort: Hundehütte
Beiträge: 5.293
derHund ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Ich kann natürlich nur die Theorie aufstellen:

Dazu kommt noch, dass die Befehle require_once usw noch einen
Unterstrich beinhalten.
naja, schau mal:

1. jede anweisung endet mit nem ;
2. du suchst etwas, das mit include oder require beginnt ... und mit nem semikolon endet, was dazwischen ist, kann uns je erstmal egal sein.
Code:
'/(include|require)?[^;]*;/'
mal so als quick&dirty ...
- der dateiname sollte keine ; enthalten
- modifier mußte dir selbst suchen, genauso ^und $
- preg_match_all
- fertig
OffTopic:
@TobiaZ: deine signatur irritiert mich irgendwie
__________________
Die Zeit hat ihre Kinder längst gefressen
Mit Zitat antworten
  #13 (permalink)  
Alt 23-05-2004, 17:44
Yooda
 Member
Links : Onlinestatus : Yooda ist offline
Registriert seit: Jul 2003
Ort: Gelsenkirchen
Beiträge: 228
Yooda ist zur Zeit noch ein unbeschriebenes Blatt
Standard

@derHund : Vielen Dank ! Das ist schonmal Hilfreich.


@TobiaZ: ich habe auch mal versucht was aufzubauen:

/(include|require)+(.*)[\(|"](.*)["|\)]/i

das habe ich mir zusammengeschnipselt.

Das Funktioniert auch mehr oder weniger
Mit Zitat antworten
Antwort

Lesezeichen


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 

Themen-Optionen
Thema bewerten
Thema bewerten:

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 an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an


PHP News

Warum Texterstellung mit künstlicher Intelligenz richtig gut ist
Warum Texterstellung mit künstlicher Intelligenz richtig gut istKünstliche Intelligenz ist dabei, die Welt zu erobern. Die größten Unternehmen entwickeln Systeme, die einen Text für Sie schreiben können. Und sie machen das sehr gut.

05.01.2022 | Berni

Vorteile eines flexiblen ERP Systems
Vorteile eines flexiblen ERP SystemsEin flexibles ERP System bietet in allen Unternehmensbereichen die Grundlage für eine erfolgreiche Verwaltung, Organisation und Planung aller Prozesse.

01.12.2021 | Berni


 

Aktuelle PHP Scripte

copycockpit

Lassen Sie eine KI in Sekundenschnelle hochwertige Texte für z.B. Blogs, Produkt-Beschreibungen und Landing-Pages schreiben.

17.01.2022 Berni | Kategorie: KI Tools
frase.io

Automatisch Texte von einer KI Schreiben lassen. Die Effizienz von Frase und die geschriebenen Texte machen es einfach, SEO-Texte zu schreiben.

27.12.2021 Berni | Kategorie: KI Tools
Marktplatz für Blog-Marketing und Blog-Vermarktung ansehen Marktplatz für Blog-Marketing und Blog-Vermarktung

Blogmission, hier finden Blogbetreiber (Publisher) und Firmen (Advertiser) einfach und effektiv zueinander.

20.12.2021 Berni | Kategorie: SEO/ DIENSTE
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 22:13 Uhr.