PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Etwas aus einer Variable rausfiltern und in Neuer Variable Speichern



dadie
24.02.2005, 14:31
Hallo ,

Ich bin dabei ein einfaches CMS System zu bauen nun wird das ganze über ein Templett System laufen womit gewährleistet ist das der HTML Code zu 100% getrennt vom PHP Code ist nun steht im Templett code z.B.

<html>
........
<body>
<!--BSP-KAT-Begin-->
<!--<span class="menukat" style="background-image: url(./style/uvd/img/003.png);"></span>-->
<!--BSP-KAT-End-->

<!--BSP-LINK-Begin-->
<!--<a href="" style="padding-left:5px ;" title=""></a><br>-->
<!--BSP-LINK-End-->
..........
</body>
</html>


Nun möchte ich genau das rausfiltern was in BSP-LINK und in BSP-KAT gespeichert ist
nur wie ???

Ich hoffe jamdn kann mir helfen den mir fällt kein befehl ein :(

Mfg Dadie

codec
24.02.2005, 14:55
Wie wärs wenn du ein richtiges Template System benutzt?
Z.B. Smarty oder so

Ansonsten versuchs mal mit Variablen oder so.
Also richtigen Variablen.

Weil mit nem Textparser der dir dann die ganzen <!-- usw rausfiltert ist das irgendwie umständlich. Meiner Meinung nach.

dadie
24.02.2005, 15:06
Wie wärs wenn du ein richtiges Template System benutzt?
Z.B. Smarty oder so

Ansonsten versuchs mal mit Variablen oder so.
Also richtigen Variablen.

Weil mit nem Textparser der dir dann die ganzen <!-- usw rausfiltert ist das irgendwie umständlich. Meiner Meinung nach.

Ich glaube du hast mich missverstanden ich will aus einer datei (eine Templett Datei)
diesen Code der in BSP-KAT und BSP-LINK ist auslesen bsiher habe ich ich die Datei per
file_get_contents in einen String umgewandelt nun will ich diese Codezeile in BSP-KAT und BSP-LINK Dort herraus löschen und in eigenständige Variablen Laden.

codec
24.02.2005, 15:11
Öhm... du möchtest also den code zwischen <x und x> (bei dir BSP-KAT und BSP-LINK oder so) auslesen und in eine Variable speichern?

dadie
24.02.2005, 15:13
Öhm... du möchtest also den code zwischen <x und x> (bei dir BSP-KAT und BSP-LINK oder so) auslesen und in eine Variable speichern?

Jup genau das will ich nur wie ? Ich weiss wie ich den Code ersätze aber das hilft mir herzlich wennig da ich ihn in einer Variable speichern will

Tomarus
24.02.2005, 16:09
Öhm ...


$variable = eregi_replace ('<!--BSP-KAT-Begin-->
<!--(.*)-->
<!--BSP-KAT-End-->', '\\1', $string);

Jetzt mal als einfachste Lösung ... soweit ich dich richtig verstanden habe, sollte das ja funktionieren. Warum das jetzt extra zwischen solchen Kommentaren "gespeichert" werden muss, weiß ich auch nicht, aber naja, du wirst dir schon was dabei denken ...

dadie
24.02.2005, 17:08
Öhm ...


$variable = eregi_replace ('<!--BSP-KAT-Begin-->
<!--(.*)-->
<!--BSP-KAT-End-->', '\\1', $string);

Jetzt mal als einfachste Lösung ... soweit ich dich richtig verstanden habe, sollte das ja funktionieren. Warum das jetzt extra zwischen solchen Kommentaren "gespeichert" werden muss, weiß ich auch nicht, aber naja, du wirst dir schon was dabei denken ...


Öhmmm du sihst dabei das Problem nett der string hat den inhalt einer datei die z.B. so aufgebaut ist



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title></title>

<link rel="stylesheet" href="./style/uvd/css/default.css" type="text/css">

</head>
<body>

<!--BSP-KAT-Begin-->
<!--<span class="menukat" style="background-image: url(./style/uvd/img/003.png);">@</span>-->
<!--BSP-KAT-End-->
<!--BSP-LINK-Begin-->
<!--<a href="" style="padding-left:5px ;" title="">@</a><br>-->
<!--BSP-LINK-End-->




<div style="width:100% ; height:60px ; background-image: url(./style/uvd/img/001.png);" class="class1" >
<br>
<script type="text/javascript">
<!--
//Hier Bitte den Seiten Namen eintragen
//#####################################
var titel = "<!--Sitename-Begin--><!--Sitename-End-->";
//#####################################
for(i=0;i<titel.length;i++) {
part = titel.substr(i,1);
part = part.toLowerCase();
if(part != ' ') document.write('<img src="./style/uvd/img/buchstaben/'+part+'-head.png" alt="'+part+'" />&nbsp;');
else document.write(' &nbsp; &nbsp; ');
}
-->
</script>

</div>

<table border="0" width="100%" cellspacing="0" cellpadding="0" >
<tr>
<td class="menu" style="text-align:left; font-size:12px ;">
<!--Menu-Left-Begin-->

<!--Menu-Left-End-->
<br>
</td>
<td style="width:15px;" >&nbsp;</td>
<td class="mitte" >
<br>
<!--Contest-Begin-->

<!--Contest-End-->
</td>
<td style="width:15px;" >&nbsp;</td>
<td class="menu" style="text-align:right; font-size:12px ;">
<!--Menu-Right-Begin-->

<!--Menu-Right-End-->
</td>
</tr>
</table>

<div style="width:100% ; height:60px ; background-image: url(./style/uvd/img/002.png);" class="class1" >
<span style="text-align:center; font-size:12px ;"><br>Made by Dadie<br>2005</span>
</div>

</body>
</html>


Wenn ich nun den Code so nemen würde so hääte ich dann folgenden Code



<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title></title>

<link rel="stylesheet" href="./style/uvd/css/default.css" type="text/css">

</head>
<body>


<span class="menukat" style="background-image: url(./style/uvd/img/003.png);">@</span>

<a href="" style="padding-left:5px ;" title="">@</a><br>



<div style="width:100% ; height:60px ; background-image: url(./style/uvd/img/001.png);" class="class1" >
<br>
<script type="text/javascript">
<!--
//Hier Bitte den Seiten Namen eintragen
//#####################################
var titel = "<!--Sitename-Begin--><!--Sitename-End-->";
//#####################################
for(i=0;i<titel.length;i++) {
part = titel.substr(i,1);
part = part.toLowerCase();
if(part != ' ') document.write('<img src="./style/uvd/img/buchstaben/'+part+'-head.png" alt="'+part+'" />&nbsp;');
else document.write(' &nbsp; &nbsp; ');
}
-->
</script>

</div>

<table border="0" width="100%" cellspacing="0" cellpadding="0" >
<tr>
<td class="menu" style="text-align:left; font-size:12px ;">
<!--Menu-Left-Begin-->

<!--Menu-Left-End-->
<br>
</td>
<td style="width:15px;" >&nbsp;</td>
<td class="mitte" >
<br>
<!--Contest-Begin-->

<!--Contest-End-->
</td>
<td style="width:15px;" >&nbsp;</td>
<td class="menu" style="text-align:right; font-size:12px ;">
<!--Menu-Right-Begin-->

<!--Menu-Right-End-->
</td>
</tr>
</table>

<div style="width:100% ; height:60px ; background-image: url(./style/uvd/img/002.png);" class="class1" >
<span style="text-align:center; font-size:12px ;"><br>Made by Dadie<br>2005</span>
</div>

</body>
</html>


Ich kann mich ja irren weil ich habe es noch nciht Online getestet aber ich bin mir doch sicher das das ergebniss dann so aussehn würde

Tomarus
24.02.2005, 17:18
Könnte mit einer kleinen Änderung auch machbar sein ...


$variable = eregi_replace ('(.*)<!--BSP-KAT-Begin-->
<!--(.*)-->
<!--BSP-KAT-End-->(.*)', '\\2', $string);

So wird dann auch das ersetzt, was vor und nach den Tags ist. Könnte klappen. Probier's mal.

[edit] Also bei mir funktioniert's, du musst aber auf die richtige Anzahl der Leerzeichen (Einrückung) achten.

dadie
24.02.2005, 17:50
THX es klappt bei mir ^^

Jesus_666
26.02.2005, 02:27
Für so einen Popelkram egei_replace? str_replace ist schneller und erledigt die Arbeit genauso gut.