SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Das Zend Framework

Das Zend Framework zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP Grundlagen

PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden

 
 
Themen-Optionen Ansicht
  #1  
Alt 26.07.2017, 11:22:21
MikeDD MikeDD ist offline
Anfänger
 
Registriert seit: Jul 2017
Alter: 47
Beiträge: 4
Umstellung auf php7 - Warning: preg_replace(): The /e modifier is no longer supported

Hallo alle zusammen, ich bin neu hier und hoffe, dass ich das richtige Unterforum getroffen haben. Falls nicht, bitte ich um Nachsicht

Ich stelle meine Webseite gerade von php5 auf php7 um. Leider komme ich an einen Punkt nicht weiter. Ich habe eine Template Klasse. Unter php 5.6 lief diese fehlerfrei, muss jedoch aufgrund php7 umgestellt werden. Leider komme ich an dieser Stelle nicht weiter. Der Original Code ist folgender:

PHP-Code:
protected function replaceFunctions()
** *{

** * * *
// Includes ersetzen ( {include file="..."} )
** * * *while(preg_match("/".$this->leftDelimiterF."include file="(.*).(.*)"".$this->rightDelimiterF."/isUe"$this->template)) {
** * * * * *
$this->template preg_replace("/".$this->leftDelimiterF."include file="(.*).(.*)"".$this->rightDelimiterF."/isUe""file_get_contents(\$this->templateDir.'\\1'.'.'.'\\2')"$this->template);
** * * *}


** * * *
// Kommentare löschen
** * * *$this->template preg_replace("/".$this->leftDelimiterC."(.*)".$this->rightDelimiterC."/isUe"""$this->template);

** * * *return *
true;
** *} *


** *public function 
loop($name$array) {

** * * *
/*
** * * *Sucht nach Einträgen à la {loop=$name}{/loop} und sendet den Inhalt der Klammern an die Funktion loop_content()
** * * *Dabei werden der Name, der "Loop String" und der Datenarray übergeben
** * * **/

** * * *$this->template preg_replace("/".'\{loop="'.$name.'"}'."(.*)".'\{\/loop\}'."/isUe""\$this->loop_content(\$name, '\$1', \$array)"$this->template);
** *}




** *public function 
loop_content($name$string$array) {

** * * *
$output '';

** * * *
$string stripslashes($string); // Kleiner Fix für den String

** * * *foreach($array as $rows) { // Hier geht er den Datenarray durch

** * * * * *$string_tmp $string// Clone von $string, damit $string nicht überschrieben wird

** * * * * *foreach($rows as $row) { // Einzelne Objekte werden durchgegangen
** * * * * * * */*
** * * * * * * *Hier werden Werte à la {$name.key} mit den entsprechenden Werten aus dem Array ersetzt
** * * * * * * **/
** * * * * * * *$string_tmp str_replace($this->leftDelimiter.$name.".".key($rows).$this->rightDelimiter$row$string_tmp);
** * * * * * * *
next($rows); * *
** * * * * *}

** * * * * *
$output .= $string_tmp;
** * * *}

** * * *return 
$output;

** *} * 
Bei diesem Code bekomme ich folgende Fehler...

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/htdocs/w0xxxxx/abc/test.de/class/template.php on line 207

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/htdocs/w0xxxxx/abc/test.de/class/template.php on line 212

Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /www/htdocs/w0xxxxx/abc/test.de/class/template.php on line 225



Folgendes habe ich bereits umgesetzt. Jedoch bin ich mir nicht sicher, ob dies so der richtige Weg ist...

PHP-Code:
protected function replaceFunctions()
** *{

** * * *
// Includes ersetzen ( {include file="..."} )

** * * *$this->template preg_replace_callback("/{include file="(.*).(.*)"}/",
** * * * * * * * * *function (
$treffer) {



** * * * * * * * * * * *
$aufruf $this->templateDir.''.$treffer[1].'.'.$treffer[2];


** * * * * * * * * * * *return 
file_get_contents($aufruf);
** * * * * * * * * *}, 
$this->template);


** * * *
// Kommentare löschen
** * * *#$this->template = preg_replace("/".$this->leftDelimiterC."(.*)".$this->rightDelimiterC."/isUe", "", $this->template);

** * * *return *true;


** *} 

Wäre über Tipps und Hilfestellung dankbar.

Viele Grüße
Mike
Mit Zitat antworten
 


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

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 aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
eaccelerator Release-0.9.5.2 in Win XAMPP 1.6.4 mormor Apache HTTP-Server 8 14.12.2007 11:59:53


Alle Zeitangaben in WEZ +2. Es ist jetzt 14:29:15 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt