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 Thema bewerten
  #1 (permalink)  
Alt 28-03-2005, 14:26
dionysos
 Newbie
Links : Onlinestatus : dionysos ist offline
Registriert seit: Feb 2002
Beiträge: 72
dionysos ist zur Zeit noch ein unbeschriebenes Blatt
Standard [REGEX] tags vom anfang und ende eines strings suchen

Hallo,

ich versuche schon seit stunden eine lösung zu finden um von einem string z.b.

PHP-Code:
hjgjghj<burnincms:tpl name="name1">hgnghnghngh<burnincms:tpl name="name2">loop1</burnincms:tpl>ghnghfngh</burnincms:tpl>jzghjh 
jeweils den ersten tag und den dazu passenden letzten tag zu finden und alles was sich dazwischen befindet zurückzugeben.

meine versuche bisher:
PHP-Code:
(<burnincms:tpl name="([a-z0-9A-Z]+)">)(.*?)(</burnincms:tpl>) 
geben mir immer nur den ersten opentag und den ersten closetag wieder...

ist mein vorhaben überhaut möglich, einmal von vorn und dann von hinten einen string zu durchsuchen?

mfg
daniel
Mit Zitat antworten
  #2 (permalink)  
Alt 28-03-2005, 14:31
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

Guck dir mal das Fragezeichen in verbindung mit den Quantifiern in diesem Tut an.

Und brich deinen Code um!
__________________
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 werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #3 (permalink)  
Alt 28-03-2005, 14:33
Milian
 Junior Member
Links : Onlinestatus : Milian ist offline
Registriert seit: Sep 2004
Beiträge: 152
Milian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Ich glaube das geht nicht, da du auch keinen negativen lookahaed benutzen kannst, da bei denen die charlength bestimmt sein muss...

Ist das für eine Templateclasse? Dann überleg dir ein leicht anderes system, evtl. so:

<burnincms:tpl name="name1">...</burnincms:tpl name="name1">

Edit:
@ Tobiaz, auch mit Gierigkeit wird das erste "</burnincms:tpl>" erkannt!
Mit Zitat antworten
  #4 (permalink)  
Alt 28-03-2005, 14:47
dionysos
 Newbie
Links : Onlinestatus : dionysos ist offline
Registriert seit: Feb 2002
Beiträge: 72
dionysos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

vielen dank euch beiden für die super schnellen antworten

wenn ich es so:
PHP-Code:
(<burnincms:tpl name="([a-z0-9A-Z]+)">)(.*?)(</burnincms:tpl>)?$ 
versuche gibt er mir auch alles nach dem letzten closetag zurück...

@Milian: ja ich versuche mich gerade an einer template klasse

vielen dank
daniel
Mit Zitat antworten
  #5 (permalink)  
Alt 28-03-2005, 15:35
TobiaZ
  Moderator
Links : Onlinestatus : TobiaZ ist offline
Registriert seit: Jan 2001
Ort: MUC und MGL, Germany
Beiträge: 34.421
Blog-Einträge: 1
TobiaZ befindet sich auf einem aufstrebenden Ast
Standard

@ Milian: Hast natürlich recht.

Wenn du ordentliche Verschachtelungen benutzen willst, dann gib am besten dem Close-Tag auch nen Namen. (Ist auch nachher übersichtlicher.
__________________
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 werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.

Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
Mit Zitat antworten
  #6 (permalink)  
Alt 28-03-2005, 15:43
Milian
 Junior Member
Links : Onlinestatus : Milian ist offline
Registriert seit: Sep 2004
Beiträge: 152
Milian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

sach ich doch
Mit Zitat antworten
  #7 (permalink)  
Alt 28-03-2005, 15:48
dionysos
 Newbie
Links : Onlinestatus : dionysos ist offline
Registriert seit: Feb 2002
Beiträge: 72
dionysos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

gut also wenn ich den namen im endtag mit angebe geht es soweit. nun habe ich noch ein problem mit den backreferences. wie kann ich mir den inhalt des umschließenden tags ausgeben lassen.

in dem array was entsteht sind immer die tags mit dabei...

vielen dank
daniel
Mit Zitat antworten
  #8 (permalink)  
Alt 28-03-2005, 16:30
Milian
 Junior Member
Links : Onlinestatus : Milian ist offline
Registriert seit: Sep 2004
Beiträge: 152
Milian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

(<burnincms:tpl name="([a-z0-9A-Z]+)"> )(.*?)(</burnincms:tpl name="\2">)
So dürfte es ja bei dir sein, dann kannst du z.b. mittels preg_replace an den (.*?) kommen:
PHP-Code:
$foo preg_replace("/(<burnincms:tpl name=\"([a-z0-9A-Z]+)\"> )(.*?)(</burnincms:tpl name=\"\2\">)/is","$3",$bar); 
Edit: Hatte vergessen die " zu escapen.

Geändert von Milian (28-03-2005 um 20:09 Uhr)
Mit Zitat antworten
  #9 (permalink)  
Alt 28-03-2005, 16:41
dionysos
 Newbie
Links : Onlinestatus : dionysos ist offline
Registriert seit: Feb 2002
Beiträge: 72
dionysos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

1000 dank für dein hilfe

gruß
daniel
Mit Zitat antworten
  #10 (permalink)  
Alt 28-03-2005, 19:29
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

http://www.php-resource.de/forum/sho...threadid=45908
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
Mit Zitat antworten
  #11 (permalink)  
Alt 28-03-2005, 20:20
Milian
 Junior Member
Links : Onlinestatus : Milian ist offline
Registriert seit: Sep 2004
Beiträge: 152
Milian ist zur Zeit noch ein unbeschriebenes Blatt
Standard

äußerst interessant! hast du mal nen link zu dem "?R" ? Auf meiner standart Seite rum um Regex (http://www.regenechsen.de/) finde ich nichts dazu.
Mit Zitat antworten
  #12 (permalink)  
Alt 28-03-2005, 23:02
dionysos
 Newbie
Links : Onlinestatus : dionysos ist offline
Registriert seit: Feb 2002
Beiträge: 72
dionysos ist zur Zeit noch ein unbeschriebenes Blatt
Standard

hab das jetzt so versucht:
Zitat:
#<burnincms:tpl name="([a-z0-9A-Z]+)">((([^\[]*)|(?R))*)\[/quote\]<\/burnincms:tpl name="\1">#isUe
das programm regex coach meint dazu: "character 'R' may not follow '(?'" hmm...
Mit Zitat antworten
  #13 (permalink)  
Alt 29-03-2005, 11:17
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:
äußerst interessant! hast du mal nen link zu dem "?R" ?
http://de.php.net/manual/de/referenc...ence.recursive
Zitat:
Auf meiner standart Seite
http://www.k-faktor.com/standart/
Zitat:
das programm regex coach meint dazu: "character 'R' may not follow '(?'" hmm...
regexp coach kann afaik kein pcre, oder wozu das ?R auch immer gehören mag.
__________________
Die Zeit hat ihre Kinder längst gefressen: hund (back in black) | ??? | ??? | ...
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

Die RIGID-FLEX-Technologie
Die RIGID-FLEX-TechnologieDie sogenannte "Flexible Elektronik" , oftmals auch als "Flexible Schaltungen" bezeichnet, ist eine zeitgemäße Technologie zum Montieren von elektronischen Schaltungen.

06.12.2018 | Berni

ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlicht
ebiz-trader 7.5.0 mit PHP7 Unterstützung veröffentlichtDie bekannte Marktplatzsoftware ebiz-trader ist in der Version 7.5.0 veröffentlicht worden.

28.05.2018 | Berni


 

Aktuelle PHP Scripte

kostenloser PHP-Editor Codelobster ansehen kostenloser PHP-Editor Codelobster

Kostenloser PHP, HTML, CSS, JavaScript editor (IDE) - Codelobster PHP Edition

13.03.2019 Berni | Kategorie: PHP ENTWICKLUNGSUMGEBUNG
Lazy Load Plugin für jQuery

Das Lazyload Plugin, lädt Bilder nach, wenn sie im Viewport sichtbar werden.

10.03.2019 phpler | Kategorie: JQUERY-PLUGINS
WeltExplorer v1.0

WeltExplorer v1.0 ist ein Dateimanager zum Browsen und Operieren im Dateisystem. Bei installiertem cURL können Ordner und Dateien zu entfernten FTP-Servern hochgeladen bzw. von diesen heruntergeladen werden, etwa zum Erstellen von Backups oder Mirrorsites

06.02.2019 weltvolk | Kategorie: PHP/ File
 Alle PHP Scripte anzeigen

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:56 Uhr.