phpbar.de logo

Mailinglisten-Archive

[php] Im String bestimmte Bereiche ersetzen ...

[php] Im String bestimmte Bereiche ersetzen ...

frat .g. cheaters at gmx.de
Sam Jul 2 14:11:46 CEST 2005


Hallo!

Ich stehe einem Problem gegenüber.

Undzwar versuche ich derzeit einigermaßen ein für mich
ausreichendes CMS zu programmieren.

Meine Tabellen sollten dabei z.B. folgendes

$text = '
bla bla\n
#table#\n
   x | y\n
   3 | \n
#/table#\n
bla bla\n';

durch:
<tr>    <td>x</td>
           <td>y</td>
</tr><tr>
            <td>3</td>
            <td>4</td></tr>

ersetzen. Da jedoch in $text auch vor oder nach der Tabelle sonstige Texte
oder auch
andere Tabellen in anderen Zusammenhängen vorkommen können, möchte ich
irgendwie
immer nur die Bereiche #table# bis #/table# durch Tabellen ersetzen und
sonstige Texte
vor oder nach den Tabellen sollen mitunter nicht irgendwo innerhalb der
Tabelle erscheinen,
was leider nicht klappt :(

Hier mein aktueller Code, der soweit funktioniert, solange kein Fremdtext,
oder eine weitere
Tabelle in obiger Form untergebracht wird, da diese Elemente dann in eine
extra Zeile
innerhalb dieser Tabelle eingefügt werden ...

<?php
$string = preg_replace("/(.*)(\n){0,1}/i","|$1\n",$text);
$string = preg_split("/[|]/",$string);

$max = count($string);

echo "<table>";
echo "<tr>\n";

        for($i=1; $i<$max; $i++)
        {
         if(preg_match("/\n/i",$string[$i-1]))
         {
           echo "\n</tr><tr>\n";
         }

        echo "\n<td>\n";
        echo "\t".$string[$i];
        echo "\n</td>\n";


        }
        echo "</tr></table>"; ?>

Würde mich über eure Hilfe freuen
 und bedanke mich schon im voraus.

Grüße,

 Frat G.



php::bar PHP Wiki   -   Listenarchive