Guten abend zusammen,
ich versuche hier schon seit geraumer Zeit, folgendes Problem in den Griff zu bekommen:
Ich parse einen Text und suche nach <code></code> (bzw.<code lang="irgendwas"></code>) -Blöcken, um den Inhalt mit Syntaxhighlighting auszustatten.
Das funktioniert mit folgendem Code:
Allerdings habe ich nun in mind. einem Fall mehrere Code-Blöcke:
Und nun habe ich plötzlich einen großen Codeblock statt zweien.
Wieso nimmt sich denn nun der RegExp direkt alles? Hat jemand eine Idee, was ich ändern könnte?
Gruß,
Manu
ich versuche hier schon seit geraumer Zeit, folgendes Problem in den Griff zu bekommen:
Ich parse einen Text und suche nach <code></code> (bzw.<code lang="irgendwas"></code>) -Blöcken, um den Inhalt mit Syntaxhighlighting auszustatten.
Das funktioniert mit folgendem Code:
Code:
$sString = preg_replace_callback('@<code(?:[^>]+class="([^"]+)")?[^>]*>(.*)</code>@s', 'highlightString', $sContent);
Allerdings habe ich nun in mind. einem Fall mehrere Code-Blöcke:
Code:
<code class="sql">mysqldump -h 127.0.0.1 -u root -p datenbankname | gzip > dump.sql.gz </code><br />
rein: normal: <br />
<code class="sql">mysql --host=localhost --user=root --password=pass --database=datenbankname < dump.sql</code><br />
zipped: <br />
<code class="sql">gunzip < dump.sql.gz | mysql -u user -p datenbankname</code>
Und nun habe ich plötzlich einen großen Codeblock statt zweien.
Wieso nimmt sich denn nun der RegExp direkt alles? Hat jemand eine Idee, was ich ändern könnte?
Gruß,
Manu