SELFPHP: Version 5.8.2 Befehlsreferenz - Tutorial – Kochbuch – Forum für PHP Einsteiger und professionelle Entwickler

SELFPHP


Professional CronJob-Service

Suche



CronJob-Service    
bei SELFPHP mit ...



 + minütlichen Aufrufen
 + eigenem Crontab Eintrag
 + unbegrenzten CronJobs
 + Statistiken
 + Beispielaufrufen
 + Control-Bereich

Führen Sie mit den CronJobs von SELFPHP zeitgesteuert Programme auf Ihrem Server aus. Weitere Infos



:: Buchempfehlung ::

Webseiten professionell erstellen

Webseiten professionell erstellen zur Buchempfehlung
 

:: Anbieterverzeichnis ::

Globale Branchen

Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP  

 

:: Newsletter ::

Abonnieren Sie hier den kostenlosen SELFPHP Newsletter!

Vorname: 
Name:
E-Mail:
 
 

Zurück   PHP Forum > SELFPHP > PHP für Fortgeschrittene und Experten

PHP für Fortgeschrittene und Experten Fortgeschrittene und Experten können hier über ihre Probleme und Bedenken talken

Antwort
 
Themen-Optionen Ansicht
  #1  
Alt 18.01.2004, 15:07:18
mad-boy mad-boy ist offline
Junior Member
 
Registriert seit: Aug 2002
Beiträge: 395
mad-boy eine Nachricht über ICQ schicken
BB Code

Hi,
also ich tüftel jetzt schon lange mit dem BBCode rum, ich suche ne Möglichkeit das innerhalb von [ code ] und [ /code ] der BB Code nicht geparst wird, außerdem soll darin der PHP Code gehighlightet werden!

Meine momentane Funktion schaut so aus und ist totale Alpha und völlig unsortiert, aber ich bekomm das nicht richtig hin:

PHP-Code:
function bbcode($text) {

    
//HTML Tags entfernen
    
$text=str_replace("<","&lt;",$text);
    
$text=str_replace(">","&gt;",$text);

    
//Code Tags suchen
    
$codes="/[code](.*?)[/code]/si";
    
preg_match_all($codes,$text,$code);

    
$text=nl2br($text);    //Im restlichen Code <BR>'s einfügen

    //Alle [CODE]'s higlighten
    
for($i=0;$i<count($code);$i++) {
        
$coder=$code[1][$i]; //$coder wird auf aktuellen Suchstring gesetzt
        
$coder=str_replace("&lt;","<",$coder); //PHP Tags wiederherstellen
        
$coder=str_replace("&gt;",">",$coder); //PHP Tags wiederherstellen
        
        
ob_start();
        
highlight_string($coder); //PHP Code highlighten
        
$coder=ob_get_contents();
        
ob_end_clean();


        
$text=str_replace(nl2br($code[1][$i]),$coder,$text); //PHP Code in Text einfügen
    
}

    
//Suchstrings für restlichen Code:
    
$search[]="/[url](.*?)[/url]/si";
    
$search[]="/[url=(.*?)](.*?)[/url]/si";
    
$search[]="/[mail](.*?)[/mail]/si";
    
$search[]="/[mail=(.*?)](.*?)[/mail]/si";
    
$search[]="/[b](.*?)[/b]/si";
    
$search[]="/[u](.*?)[/u]/si";
    
$search[]="/[i](.*?)[/i]/si";
    
$search[]="/[img](.*?)[/img]/si";
    
$search[]="/[uimg](.*?)[/uimg]/si";
    
$search[]="/[quote](.*?)[/quote]/si";
    
$search[]="/[code](.*?)[/code]/si";

    
//Replacestrings für restlichen Code:
    
$replace[]="<a href="1" target="_blank">1</a>";
    
$replace[]="<a href="1" target="_blank">2</a>";
    
$replace[]="<a href="mailto:1" target="_blank">1</a>";
    
$replace[]="<a href="mailto:1" target="_blank">2</a>";
    
$replace[]="<B>1</B>";
    
$replace[]="<U>1</U>";
    
$replace[]="<I>1</I>";
    
$replace[]="<img src="1" border=0>";
    
$replace[]="<img src="/bildmanager/pic.php?id=1" border=0>";
    
$replace[]="<table border=0 cellpadding=0 cellspacing=1 bgcolor="#CCCCCC"><tr><td bgcolor="#FFFFCC" style="text-align:left;" width="100%"><B><I>&nbsp;Code:</I></B><BR><HR width="100%" style="height:1px;"><BR>1</td></tr></table>";
    
$replace[]="<table border=0 cellpadding=0 cellspacing=1 bgcolor="#CCCCCC"><tr><td bgcolor="#DDEEFF" style="text-align:left;" width="100%"><B><I>&nbsp;Code:</I></B><BR><HR width="100%" style="height:1px;"><BR>1</td></tr></table>";
    
    
$text=preg_replace($search,$replace,$text); //Restlichen Code ersetzen

    
$text=parseText($text);

    return 
$text;
}

function 
parseText($text) {
    
$text=str_replace("\","\\",$text);
    return 
$text;

Mit Zitat antworten
  #2  
Alt 19.01.2004, 11:07:26
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
du mußt den modifier e nutzen.
dann sieht deine funktion so aus:
Code:
$search = array('/
Code:
(.*)
/Usie'); replace = array("highlight_string(1)"); preg_replace($search,$replace,$text);
Mit Zitat antworten
  #3  
Alt 20.01.2004, 00:12:10
mad-boy mad-boy ist offline
Junior Member
 
Registriert seit: Aug 2002
Beiträge: 395
mad-boy eine Nachricht über ICQ schicken
Danke, interessante Funktion, geht! :)
Mit Zitat antworten
  #4  
Alt 20.01.2004, 09:18:17
MiH MiH ist offline
Member
 
Registriert seit: Aug 2002
Beiträge: 775
du kannst jetzt in den array noch mehr rein hauen, ich habe hier nur einmal das code tag gezeigt :)
Mit Zitat antworten
Antwort


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind aus.
[IMG] Code ist aus.
HTML-Code ist aus.

Gehe zu


Alle Zeitangaben in WEZ +2. Es ist jetzt 12:46:45 Uhr.


Powered by vBulletin® Version 3.8.3 (Deutsch)
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.


© 2001-2024 E-Mail SELFPHP OHG, info@selfphp.deImpressumKontakt