Seite 1 von 1
[erledigt]zeilen zählen
Verfasst: 06.02.2007 20:13
von Ambience
Sorry Leute, ich gebe offen zu, dass ich gerade auf dem Schlauch stehe und keine Lust habe zu suchen, da ich völlig kaputt bin.
Kann man auf eine einfache art die zeilen eines textes brechnen?
z.b.
wie geht das jetzt am schnellstens?
oder gibt es vllt. eine gesonderte funktion dafür?
Danke
Verfasst: 06.02.2007 20:31
von Pyramide
[php:substr_count]
Verfasst: 06.02.2007 20:35
von Ambience
hmm ne, da ist mir die explode version schon lieber..
ach ich bin glaube ich wirklich schlecht heute... ich versuche seit 15 min:
<?php
echo "test";
?>
auf einer html seite als text auszugeben, irgendwie erscheint es nur im quelltext aber nicht in meinem html dokument..
Hat da jemand ne idee?
Verfasst: 06.02.2007 20:41
von Prometheus
Ersetzte < durch < und > durch >
Verfasst: 06.02.2007 20:42
von Pyramide
Ambience hat geschrieben:hmm ne, da ist mir die explode version schon lieber..
Weil man noch zusätzlich count() dazunehmen muss oder weil es mehr Performance kostet?
Ambience hat geschrieben:<?php
echo "test";
?>
Das gibt bei mir "test" aus. Warscheinlich liegt das Problem woanders? Da ist ja sicher noch mehr Code drumrum - oder schreibst du wirklich gerade dein erstes Hallo Welt Programm?
Verfasst: 06.02.2007 21:09
von Ambience
nein, ich schreibe gerade nen eigenen php code highlighter für mein forum...
Code: Alles auswählen
function parse_php($text)
{
$line_rows = explode("\n", $text);
$lines = count($line_rows);
$text = htmlentities($text);
$text = preg_replace('/(\<\?php|\<\?)/is', '<font color="red">test</font>', $text);
return $text;
}
kann mir mal einer veraten was an dem preg_replace falsch läuft? wenn ich das htmlentities wegmache dann wird es richtig gemacht, aber dann bekomm ich wiederum meinen code nicht zu sehen...
edit: hier mein ganzer code:
Code: Alles auswählen
<?php
function parse_php($text)
{
$line_rows = explode("\n", $text);
$lines = count($line_rows);
$text = htmlentities($text);
$text = preg_replace('/(\<\?php|\<\?)/is', '<font color="red">test</font>', $text);
return $text;
}
$text = "
<?php
//
// Testkommentar
//
?>";
echo nl2br(parse_php($text));
?>
Verfasst: 06.02.2007 21:36
von Prometheus
Die spitzen Klammern werden ja vom Browser geparst. Wenn du sie anzeigen willst, musst du sie durch bestimmte HTML Befehle ersetzten.
Du musst also bei dem php-Code den du anzeigen lassen willst, alle
< durch
< und
> durch
> ersetzen.
Siehe auch:
http://de.selfhtml.org/html/referenz/ze ... annte_html
Verfasst: 06.02.2007 21:39
von Ambience
Danke Danke, sehr vielen Dank..
so funktioniert es nun:
Code: Alles auswählen
<?php
function parse_php($text)
{
$line_rows = explode("\n", $text);
$lines = count($line_rows);
$text = str_replace('<', '<', $text);
$text = preg_replace('/(\<\?php|\<\?)/is', '<span style="color:#ff0000;font-weight:bold;">$1</span>', $text);
return $text;
}
$text = "
<?php
//
// Testkommentar
//
?>";
echo nl2br(parse_php($text));
?>
Verfasst: 06.02.2007 23:14
von Pyramide
Ambience hat geschrieben:nein, ich schreibe gerade nen eigenen php code highlighter
Nimm doch [php:highlight_string]