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 17-08-2007, 16:53
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard php-tags splitten

Hallo,
ich würde gerne mit preg_split (?) einen String spalten, aber das will nicht so recht klappen.
Der String hat _genau_ diesen Inhalt (mit php-Tags!):

PHP-Code:
<?php
        
echo $foo;
?>
<h1>test</h1>
<?php
        
echo $foo;
?>
<h2>sadf</h2>
Herauskommen soll ein Array, dass
- den obersten PHP-Code (ohne "<?php"- und "?>"-Tags)
- die normalen HTML-Anweisungen
- und die anderen optionalen PHP-Anweisung (wiederum ohne "<?php"- und "?>"-Tags)

Ich scheitere leider schon daran via RegExp auf den Inhalt zwischen <?php und ?> zuzugreifen. Hiiilfeee
Mit Zitat antworten
  #2 (permalink)  
Alt 17-08-2007, 17:05
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Zeig mal deinen Code und vor allem deinen regulären Ausdruck.
Mit Zitat antworten
  #3 (permalink)  
Alt 17-08-2007, 17:09
jahlives
 Master
Links : Onlinestatus : jahlives ist offline
Registriert seit: Jun 2004
Ort: Hooker in Kernel
Beiträge: 8.279
jahlives ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Code:
$pattern = '=<\?php(.*)\?>(.*)<\?php(.*)\?>=isU'; 
$result = preg_match($pattern, $deinString, $subpattern);
http://regexp-evaluator.de/evaluator...3799/#ergebnis
Gruss

tobi
__________________
Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."
Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)
Mit Zitat antworten
  #4 (permalink)  
Alt 17-08-2007, 17:56
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Danke jahlives, allerdings kommt nicht genau das raus, was ich möchte.

array[0] -> <?php echo $foo;?>

array[1] -> <h1>test</h1>

array[2] -> <?php echo $foo;?>

array[3] -> <h2>sadf</h2>

würde ich gerne als ergebnis haben, mein bisheriger regexp sah so aus

PHP-Code:
/<?php(.*)?>/s 
... allerdings kam dort nichts sinnvolles raus
Mit Zitat antworten
  #5 (permalink)  
Alt 17-08-2007, 18:11
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

http://regexp-evaluator.de/evaluator...dc2a/#ergebnis

Da ist jetzt nur anders geklammert. Aber dein Anliegen ist nicht so trivial wie du glaubst, siehe http://regexp-evaluator.de/evaluator...352c/#ergebnis

Geändert von onemorenerd (17-08-2007 um 18:13 Uhr)
Mit Zitat antworten
  #6 (permalink)  
Alt 17-08-2007, 18:36
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von onemorenerd
http://regexp-evaluator.de/evaluator...dc2a/#ergebnis

Da ist jetzt nur anders geklammert. Aber dein Anliegen ist nicht so trivial wie du glaubst, siehe http://regexp-evaluator.de/evaluator...352c/#ergebnis
... sonst hätte ich mein Anliegen auch nicht hier gepostet

Aber mein Vorhaben sollte ja nicht exotisch sein: es wird eine Datei eingelesen, der PHP-Code wird ge'eval()'d und der html-Code einfach ausgegeben. Vielleicht shit by design? Alternativ wollte ich ob_start() nutzen, allerdings kapiere ich den Ablauf dabei nicht so richtig. Darf ich dabei kein echo nutzen und muss alles zum Ausgeben in eine Variable kleben?? Hat jemand eine Antleitung für ob_start() und die damit verbundenen Funktionen (und jetzt komm nicht mit dem PHP-Manual ^^)?
Mit Zitat antworten
  #7 (permalink)  
Alt 17-08-2007, 18:44
Benutzerbild von onemorenerd onemorenerd
  Moderator
Links : Onlinestatus : onemorenerd ist offline
Registriert seit: Mar 2005
Ort: Berlin
Beiträge: 9.471
onemorenerd wird schon bald berühmt werdenonemorenerd wird schon bald berühmt werden
Standard

Ja, "shit design" wenn du auf eval() angewiesen bist.
Aber ist dir mal in den Sinn gekommen, dass du die gesamte Eingabe (HTML + PHP-Code) unverändert eval'n kannst? Du mußt das nicht erst zerlegen.
Mit Zitat antworten
  #8 (permalink)  
Alt 17-08-2007, 18:47
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

Zitat:
es wird eine Datei eingelesen, der PHP-Code wird ge'eval()'d und der html-Code einfach ausgegeben. Vielleicht shit by design?
:wall: Wozu soll das gut sein? Kennst du include? macht genau das gleiche.

Zitat:
Alternativ wollte ich ob_start() nutzen, allerdings kapiere ich den Ablauf dabei nicht so richtig. Darf ich dabei kein echo nutzen und muss alles zum Ausgeben in eine Variable kleben??
unfug, genau deshab gibt OUTPUT Buffering, um die ausgabe via echo in eine Variable zu packen.

Zitat:
Hat jemand eine Antleitung für ob_start() und die damit verbundenen Funktionen (und jetzt komm nicht mit dem PHP-Manual ^^)?
Doch! Genau da steht alles wissenswerte drin. So schwer ist es nun wirklich nicht. Wenn du konkrete Fragen hast,kannst du gerne fragen.
__________________
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
  #9 (permalink)  
Alt 17-08-2007, 19:02
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von TobiaZ
:wall: Wozu soll das gut sein? Kennst du include? macht genau das gleiche.
include() kann ich nicht nehmen weil die Variablen zum Zeitpunkt des parsens noch nicht den richtigen Wert haben(<title> im Head). Nun gut, dann werde ich mich mal durch ob_start() hacken bis ich es kapiert habe... und das am Freitag
Mit Zitat antworten
  #10 (permalink)  
Alt 17-08-2007, 19:14
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von miguel_rkc
include() kann ich nicht nehmen weil die Variablen zum Zeitpunkt des parsens noch nicht den richtigen Wert haben(<title> im Head).
verstehe ich nicht.
die variable muss doch zur laufzeit des scriptes bekannt sein, sonst nützt dir doch eval() genauso wenig
Mit Zitat antworten
  #11 (permalink)  
Alt 17-08-2007, 19:57
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

Oh mein Gott, überdenke mal deine Programmstruktur. Wenn du wegen nem Pagetitle schon zu solchen mitteln greifen musst, was machst du, wenn du irgend wann mal so weit bist, dass du Programmierst?
__________________
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
  #12 (permalink)  
Alt 19-08-2007, 19:19
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

... und ihr würdet das dann wie machen?

Die grobe Struktur ist folg.:

config einlesen und vars getten
menü bauen
contentfile einlesen
... html ausgeben

Mein Problem ist halt, dass ich im Contentfile der jeweiligen Seite php-Anweisungen und html haben möchte. Ein Beispiel:


PHP-Code:
<?php
        $header
['title'] .= 'Startseite';
        
$header['meta']['title'] = $menu[$page][$lang];
?>

<h1>Willkommen!</h1>
Mit Zitat antworten
  #13 (permalink)  
Alt 19-08-2007, 20:36
tontechniker
 PHP Senior
Links : Onlinestatus : tontechniker ist offline
Registriert seit: Jul 2005
Beiträge: 1.972
tontechniker ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Warum includest du die Content Datei nicht einfach?
__________________
Die Regeln | rtfm | register_globals | strings | SQL-Injections | []
Mit Zitat antworten
  #14 (permalink)  
Alt 19-08-2007, 20:53
miguel_rkc
 Member
Links : Onlinestatus : miguel_rkc ist offline
Registriert seit: Aug 2004
Beiträge: 157
miguel_rkc ist zur Zeit noch ein unbeschriebenes Blatt
Standard

na weil dann der seiteninhalt ausgegeben wird, bevor der html-header mit dem title usw. ausgegeben wurde
Mit Zitat antworten
  #15 (permalink)  
Alt 19-08-2007, 21:19
3DMax
 PHP Senior
Links : Onlinestatus : 3DMax ist offline
Registriert seit: Jan 2004
Beiträge: 1.916
3DMax ist zur Zeit noch ein unbeschriebenes Blatt
Standard

Zitat:
Original geschrieben von miguel_rkc
na weil dann der seiteninhalt ausgegeben wird, bevor der html-header mit dem title usw. ausgegeben wurde
und wo kommt der html-header her? extra datei?

Zitat:
Original geschrieben von miguel_rkc
PHP-Code:
<?php
        $header
['title'] .= 'Startseite';
        
$header['meta']['title'] = $menu[$page][$lang];
        
// Guter Zeitpunkt, um die header zu includen ;)
        
include('header.php');
?>

<h1>Willkommen!</h1>
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

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

Wissensbestand in Unternehmen
Wissensbestand in UnternehmenLebenslanges Lernen und Weiterbilden sichert Wissensbestand in Unternehmen

25.05.2018 | Berni


 

Aktuelle PHP Scripte

ADSMAN V3 - Werbe-Manager ansehen ADSMAN V3 - Werbe-Manager

ADSMAN V3 - mehr als nur ein Bannermanager! Banner, Textanzeigen und PagePeel Manager! Mit ADSMAN PRO haben Sie die Marketinglösung für eine effektive und effiziente Werbeschaltung mit messbaren Ergebnissen. Unterstützt werden Bannerformate in beliebi

25.10.2018 virtualsystem | Kategorie: PHP/ Bannerverwaltung
PHP News und Artikel Script V2

News schreiben, verwalten, veröffentlichen. Dies ist jetzt mit dem neuen PHP News & Artikel System von virtualsystem.de noch einfacher. Die integrierte Multi-User-Funktion und der WYSIWYG-Editor (MS-Office ähnliche Bedienung) ermöglichen...

25.10.2018 virtualsystem | Kategorie: PHP/ News
Top-Side Guestbook

Gästebuch auf Textbasis (kein MySQL nötig) mit Smilies, Ip Sperre (Zeit selbst einstellbar), Spamschutz, Captcha (Code-Eingabe), BB-Code, Hitcounter, Löschfunktion, Editierfunktion, Kommentarfunktion, Kürzung langer Wörter, Seiten- bzw. Blätterfunktion, V

22.10.2018 webmaster10 | Kategorie: PHP/ Gaestebuch
 Alle PHP Scripte anzeigen

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