WebWork Magazin - Webseiten erstellen lassen, Online Medien, html

Webhoster, Webhosting Provider und Domain registrieren

Home | Registrieren | Einloggen | Suchen | Aktuelles | GSL-Webservice | Suleitec Webhosting
Reparatur-Forum | Elektro forum | Ersatzteilshop Haushalt und Elektronik


Homepage und Webhosting-Forum

Scripte und Programme für PHP, MYSQL. Diskussionen zur Programmierung im Web. Fragen zu CMS, Blogsoftware, Shops, Newsletter und vielen weiteren Scripten.


Forum » PHP & MySQL » highlight_string » Antworten
Benutzername:
Passwort: Passwort vergessen?
Inhalt der Nachricht: Fett | Kursiv | Unterstrichen | Link | Bild | Smiley | Zitat | Zentriert | Quellcode| Kleiner Text
Optionen: Emailbenachrichtigung bei Antworten
 

Die letzten 5 Postings in diesem Thema » Alle anzeigen
von c3o
1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13:
function hilite_php($text) {

	$erg = split('\[/?php\]', $text);
	for($i=1;$i<count($erg);$i=$i+2) {
		$erg2[] = $erg[$i];
	}
	for($i=0;$i<count($erg2);$i++) {
		$text = str_replace('[php]'.$erg2[$i].'[/php]', highlight_string($erg2[$i], true), $text);
	}
	return $text;
}



Testdokument:
1: 
2: 
3: 
4: 
5:
$text='Test Text ... blubb [php]<?php phpinfo(); ?>[/php] ..lala[php]<?=$lala ?>[/php]..';

echo hilite_php($text);
von Can
Dann liefer doch gleich alles mit

Ne, im Ernst. Ich find, solche Funktionen wie str_before, str_after usw. sollten endlich mal in PHP enthalten sein...
von Philipp Gérard
naja, für ihn ist es schrott, da er keinen zugriff auf die verwendeten funktionen/klassen hat
von Can
Wieso baust du Schrott in deine Funktionen ein?
von Philipp Gérard
hier meine funktion mit ewas schrott drin, aber php lesen kannste ja, also lösch dir raus, was du nicht brauchst

1: 
2: 
3: 
4: 
5: 
6: 
7: 
8: 
9: 
10: 
11: 
12: 
13: 
14: 
15: 
16: 
17: 
18: 
19: 
20: 
21: 
22: 
23: 
24: 
25: 
26: 
27: 
28: 
29: 
30: 
31: 
32: 
33: 
34: 
35: 
36: 
37: 
38: 
39: 
40: 
41: 
42: 
43: 
44: 
45: 
46: 
47: 
48: 
49: 
50: 
51: 
52: 
53: 
54: 
55: 
56: 
57: 
58: 
59: 
60: 
61: 
62: 
63: 
64: 
65: 
66: 
67: 
68: 
69: 
70: 
71: 
72: 
73: 
74:
/**
* Funktion zum Parsen von PHP-Code
*/
function parsephp($code) {

 $code = str_replace("&gt;", ">", $code);
 $code = str_replace("&lt;", "<", $code);
 $code = str_replace("&amp;", "&", $code);
 $code = str_replace("[URL]", "", $code);
 $code = str_replace("[/URL]", "", $code);
 $code = str_replace("&quot;", "\"", $code);
 $code = str_replace('$', '\$', $code);
 $code = str_replace("<br>", "", $code);
 $code = str_replace("<br />", "", $code);
 
 $code = stripslashes($code);
 
 /*
 * Code parsen:
 */

 ob_start();
 
  $oldlevel = error_reporting(0);
  
  highlight_string($code);
 
  error_reporting($oldlevel);
  
  $buffer = ob_get_contents();
 
 ob_end_clean();
 
 $return    = $buffer;
 
 /*
 * Zeilen berechnen:
 */
 
 $return    = str_replace("<br />", "\n", $return);
 $return    = str_replace("\t", "", $return);
 
 $codeteile = preg_split('#\n#', $return);
 $laenge    = sizeof($codeteile);
 
 for($j=0;$j<sizeof($codeteile);$j++) {  
  $zeile = $j + 1;  
  if($j < ($laenge -1)) {
   $linenumbers .= "$zeile: \n";
  } else {
   $linenumbers .= "$zeile:";
  }
 }
 
 /*
 * Daten ausgeben (TPL-Engine):
 */

 global $template;
 
 $charray = array(
          "{code}"        => $return,
          "{height}"      => $height,
          "{linenumbers}" => $linenumbers
 );

 $outvar = $template->open("php_code", $charray);

 return $outvar;

}
	$phpsearch[] = '/\[php\](.*)\[\/php\]/Uesi';
	$phpreplace[] = 'parsephp(\'\1\')';
	$text = preg_replace($phpsearch, $phpreplace, $text);

Nach oben