Problem mit Regex

nchristoph

Erfahrenes Mitglied
Hallo Zusammen,

ich sitze mal wieder bei nem Regex Problem.

Ich will mein Template nach diesem Code durchsuchen:

Code:
<type="Modules" Position="left">

Position ist allerdings Variabel also es kann z. b. right, middle, center usw. drinnen stehen.

Das ganze soll im Code so ersetzt werden:

PHP:
$value = preg_match_all('/\<type="Modules" Position="(.*)"\>/isUe', $this->style);
print_r($value);
//$this->style = str_replace('<type="Modules" Position="'.$value.'">', $this->LoadModules($value), $this->style);

Anscheinend ist das Pattern nicht fehlerfrei. Wenn ich mit $value ausgeben lasse, kommt left\ .

Wo liegt mein Fehler?

Muss ich danach noch den \ entfernen?
 
Zuletzt bearbeitet:
Was istn das für ne Datei? Vielleicht kommst du um die Regex herum, sieht mir XML ähnlich aus.
Und was willst du am Ende denn in der Variable stehen haben?
 
Ich will damit meine Style Datei komplett OHNE php Code haben.

Der Tag, also <type> ist der Platzhalter für meinen Modulmanager, zumindest soll er das werden.

Momentan spreche ich den Modulmanager so an:

PHP:
<?php $modules->LoadModule('left')?>

Und das will ich mit dem <type="Modules" Position="left"> ersetzen.
 
Weil ich mich mit beiden noch nicht bzw. sehr begrenzt auskenne.

//edit:

Hab es jetzt hinbekommen.

Die Type Tags werden jetzt ersetzt, leider wird die Styledatei wieder falsch zusammen gesetzt:

HTML:
<h2>Hauptmen&uuml;</h2>
            <ul>
                <li><a href="index2.php?admin=start">Start</a></li>                
            </ul>
<h2>Men&uuml;eintr&auml;ge</h2>
            <ul>
                <li><a href="index2.php?admin=menuadd">Men&uuml;punkt hinzuf&uuml;gen</a></li>
                <li><a href="index2.php?admin=menuedit">Men&uuml;punkt bearbeiten</a></li>
                <li><a href="index2.php?admin=menudel">Men&uuml;punkt l&ouml;schen  </a></li>
            </ul><h2>Beitr&auml;ge</h2>
            <ul>
            <li><a href="index2.php?admin=addbei">Neuen Beitrag erstellen</a></li>
            </ul>            <h2>Kategorien</h2>
                <ul>
               <li><a href="index2.php?admin=addkat">Neue Kategorie erstellen</a></li>
                 </ul>            <h2>Themes</h2>
            <ul>
            <li><a href="index2.php?admin=addtheme">Theme hinzuf&uuml;gen</a></li>
            <li><a href="index2.php?admin=edittheme">Theme Einstellungen bearbeiten</a></li>
            </ul><h2>Module</h2> 
            <ul>
                <li><a href="index2.php?admin=modules">Module</a></li>                
                <li><a href="index2.php?admin=adminmodules">Admin Module</a></li> 
            </ul>            <h2>Konfiguration</h2>
            <ul>
            <li><a href="index2.php?admin=config">Titel</a></li>
            <h4>SEO</h4>
            <li><a href="index2.php?admin=seo">SEO bearbeiten</a></li>
            <li><a href="index2.php?admin=seo_robots">SEO Robot Tags hinzuf&uuml;gen</a></li>
            </ul><div class="draggableWindow"> <h1>Beitr&auml;ge: 12</h1><span class="right"><a href="index2.php?admin=addbei">Neuen Beitrag erstellen</a></span>
<table>
        <tr>
                <th>Titel</th>
                <th>Datum</th>
                <th colspan="2">Aktion Betr&auml;ge</th>
        </tr>        <tr>
                <td>[Update] 04.10.2012 Backend Revamped</td>
                <td>04.10.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=24">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=24">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>[Update] 15.09.2012</td>
                <td>15.09.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=23">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=23">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 12.09.2012</td>
                <td>12.09.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=22">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=22">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>[Update] Major Rewrite Part 2</td>
                <td>25.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=21">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=21">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Major Rewrite</td>
                <td>22.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=20">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=20">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 19.08.2012</td>
                <td>19.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=19">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=19">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 16.08.2012</td>
                <td>16.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=18">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=18">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>[Hotfix] 11.08.2012</td>
                <td>11.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=17">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=17">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 10.08.2012</td>
                <td>10.08.2012</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=16">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=16">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 15.12.2011</td>
                <td>15.12.2011</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=15">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=15">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>Update 12.12.2011</td>
                <td>12.12.2011</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=14">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=14">Beitrag l&ouml;schen</a>
                </td>
        </tr>        <tr>
                <td>TBlog CMS</td>
                <td>11.12.2011</td>
                <td class="actions">
                        <a href="index2.php?admin=editbei&amp;id=13">Beitrag Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Beitrag wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_beitrag&amp;id=13">Beitrag l&ouml;schen</a>
                </td>
        </tr></table><h1>Kategorien: 1</h1><span class="right"><a href="index2.php?admin=addkat">Neue Kategorie erstellen</a></span>
<table>
        <tr>
                <th>Name</th>
                <th>Anzahl Beitr&auml;ge/Kategorie</th>
                <th colspan="2">Aktion Kategorien</th>
        </tr>        <tr>
                <td>Development</td>
                <td>12</td>
                <td class="actions">
                        <a href="index2.php?admin=editkat&amp;id=14">Kategorie Editieren</a>
                        &nbsp;|&nbsp;
                        <a onclick="return confirm('Kategorie wirklich l&ouml;schen?')" href="index2.php?admin=admin&amp;a=del_kat&amp;id=14">Kategorie L&ouml;schen</a>
                </td>
        </tr></table><h1>Letzte Kommentare : </h1><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta name="keywords" content="" />
<meta name="description" content="" />
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title><?=$titel." AdminCP"; ?></title>
<link href="http://localhost/admin/templates/tblogadmin/css/style.css" rel="stylesheet" type="text/css" media="screen" />
<link title="RSS-Feed" href="/rss.php" type="application/rss+xml" rel="alternate" />
<script type="text/javascript" >
function errorReport($error) {
var error = $error;
	document.getElementById("error").innerHTML = error;
}
</script>
<script src="../js/check_comment.js" type="text/javascript"></script>
<script type="text/javascript" src="../core/tinymce/jscripts/tiny_mce/tiny_mce.js" ></script>
<script type="text/javascript" src="../core/tinymce/jscripts/tiny_mce/tinymce_start.js" ></script>

<script type="text/javascript" src="../js/jquery.min.js" ></script>
<script type="text/javascript" src="../js/jquery-ui-1.8.23.custom.min.js" ></script>
<script type="text/javascript" >
  jQuery(document).ready(function(){
	jQuery('#accordion > h2').click(function() {
		jQuery(this).next().toggle('slow');
		return false;
	}).next().hide();

	
	//initial hiding of dashboard + addition of 'closeZone'
	jQuery('#dashboardWrapper')
		.css({
			position: 'absolute',
			top: '0px',
			left: '0px',
			width: '100%',
			height: '100%',
			opacity: '0'
		})
		.hide()
		.append('<div id="closeZone"></div>');
		
	//Position, and hiding of 'CloseZone'
	jQuery('#closeZone')
		.css({
			position: 'absolute',
			top: '0px',
			left: '0px',
			width: '100%',
			height: '100%',
			opacity: '0.5',
			background: '#000'
		})
	
	//Launch Dashboard + initiation of 'closeZone'
	jQuery('#dashboardLaunch').click(function(){
		jQuery('#dashboardWrapper')
			.show()
			.animate({opacity: '1'}, 300);
	});
	
	//closeZone's job: closing the Dashboard
	jQuery('#closeZone').click(function(){
		jQuery('#dashboardWrapper')
			.animate({opacity: '0'}, 300)
			.hide(1);
	});
	
	//fadeout of dashboard and when a link is clicked within
	jQuery('#dashboardWrapper a').click(function(){
		jQuery('#dashboardWrapper').animate({opacity: '0'}, 300);
	});
	
	//draggables defenition
	jQuery('.draggableWindow').draggable({
		handle: 'h1'
	})
});
</script>
</head>

<body>
<div class="wrapper">
    <div class="header">
        <div id="logobg"><a href="index2.php"><img src="http://<?php echo $_SERVER['SERVER_NAME'];?>/admin/templates/<?php echo $adminthemename; ?>/images/tblog_admin_logo.jpg" alt="Logo" /></a></div> <div id="headbg"><span id="loggedin">Logged in as: <?php echo $_SESSION['username']; ?></span>&nbsp;&nbsp;<span id="logout"><a href="index2.php?p=admin&amp;action=logout">Logout <?php echo $_SESSION['username'];?></a></span></div>
    </div>
    <div style="clear:all"></div>
   <!-- <div style="clear:all"></div>-->
  <div id="page">
      <div id="leftmenu">
          <ul id="accordion"></ul>
      </div>
      <div style="clear:all"></div>
      <div id="content">
          <div class="content_item"> 
                
          </div>
          <div id="dashboardWrapper">  
         
          </div>
      </div>
  </div>
   <div style="clear:all"></div>
   <div id="footer_container">
     </div>
</div>

</body>
</html>

Also die zu ersetzenden Teile werden VOR jeglichen Tag gesetzt.

Ich glaub, ich muss da den Module_Manager nochmals überarbeiten.

Normalerweise ersetzt doch str_replace den Code an der Stelle, wo er eine übereinstimmung findet oder?
 
Zuletzt bearbeitet:
Zurück