php.de

Zurück   php.de > Webentwicklung > PHP Einsteiger > PHP Tipps 2007

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 02.12.2005, 06:47  
Gast
 
Beiträge: n/a
Standard Problem mit Funktion

Hi,

ich habe einen Beitrag, der bevor er ausgeben wird durch zwei Funktionen laufen muss.
Einmal die Smilies und einmal die BBCODES.
Bei den Smilies klappt alles richtig. Er ersetzt die Smilieszeichen durch die Smilies.
Aber bei den BBCodes passiert gar nichts, und ich weiß nicht warum, könnt ihr mir vielleicht helfen?:

Functionsaufruf:

PHP-Code:
include("function/function/bbcodes.php");
$beitrag bbcode $beitrag ); 
Funktion:

PHP-Code:
<?php
function bbcode ($bbcode) {

    
$muster[] = "/\[b\](.*)\[\/b\]/Ui";
    
$ersetzen[] = '[b]\1[/b]';

    
$muster[] = "/\[u\](.*)\[\/u\]/Ui";
    
$ersetzen[] = '<u>\1</u>';

    
$muster[] = "/\[i\](.*)\[\/i\]/Ui";
    
$ersetzen[] = '[i]\1[/i]';

    
$muster[] = "/\[h1\](.*)\[\/h1\]/Ui";
    
$ersetzen[] = '<h1>\1</h1>';

    
$muster[] = "/\[h2\](.*)\[\/h2\]/Ui";
    
$ersetzen[] = '<h2>\1</h2>';

    
$muster[] = "/\[h3\](.*)\[\/h3\]/Ui";
    
$ersetzen[] = '<h3>\1</h3>';

    
$muster[] = "/\[h4\](.*)\[\/h4\]/Ui";
    
$ersetzen[] = '<h4>\1</h4>';

    
$muster[] = "/\[h5\](.*)\[\/h5\]/Ui";
    
$ersetzen[] = '<h5>\1</h5>';

    
$muster[] = "/\[h6\](.*)\[\/h6\]/Ui";
    
$ersetzen[] = '<h6>\1</h6>';

    
$muster[] = "/\[quote\](.*)\[\/quote\]/Ui";
    
$ersetzen[] = '<div id="quote">Zitat: <br \>\1</div>';

    
$muster[] = '/\[url=(.*)\](.*)\[\/url\]/Ui';
    
$ersetzen[] = '[b][url="\1"]\2[/url][/b]';

    
$muster[] = "/\[url\](.*)\[\/url\]/Ui";
    
$ersetzen[] = '[b][url="\1"]\1[/url][/b]';

    
$muster[] = "/\[img\](.*)\[\/img\]/Ui";
    
$ersetzen[] = '[img]\1[/img]';

    
$muster[] = "/\[li\](.*)\[\/li\]/Ui";
    
$ersetzen[] = '[*]1';

    
$muster[] = "/\[ul\](.*)\[\/ul\]/Ui";
    
$ersetzen[] = '<ul>1[/list]';

    
$muster[] = "/\[php\](.*?)\[\/php\]/Ui";
    
$ersetzen[] = '<blockquote><div class="pre">PHP-Code:
\1<hr noshade></div></blockquote>'
;

    
$muster[] = "/\[code\](.*)\[\/code\]/Ui";
    
$ersetzen[] = '<blockquote><div class="pre">Code:
\1<hr noshade></div></blockquote>'
;

    
$muster[] = "/\[pre\](.*)\[\/pre\]/Ui";
    
$ersetzen[] = '<div class="pre">\1</div>';

    
$bbcode eregi_replace ("http://www.""www."$bbcode);
    
$bbcode eregi_replace ("www.""http://www."$bbcode);
    
$bbcode preg_replace ($muster$ersetzen$bbcode);
    
$bbcode preg_replace ("#(^|[^\"=]{1})(http://|ftp://|mailto:|https://)([^\s<>]+)([\s\n<>]|$)#sm","\\1<a target=\"_blank\" href=\"\\2\\3\">\\3</a>\\4",$bbcode);
    
$bbcode nl2br ($bbcode);
    
  return 
$bbcode// das ganze zurückgeben
}

?>
 
Sponsor Mitteilung
PHP Code Flüsterer

Registriert seit: 21.08.2005
Beiträge: 4682
PHP-Kenntnisse:
Fortgeschritten

Alt 02.12.2005, 10:17  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Was hast du unternommen um den Fehler selbst zu finden?
Zergling-new ist offline  
Alt 02.12.2005, 10:36  
Gast
 
Beiträge: n/a
Standard

Ich habe den Variablen andere Namen gegeben.
Ich habe die Funktion extrahiert und in einem anderen Script ausgeführt.

Aber irgendwie hat es alles nicht richtig geklappt...
 
Alt 02.12.2005, 10:58  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Zitat:
Zitat von malte
Ich habe den Variablen andere Namen gegeben.
Ich habe die Funktion extrahiert und in einem anderen Script ausgeführt.
Und warum gibst du dir die Werte die die Variablen (speziell $bbcode) annehmen nicht aus, nachdem eine preg_replace() Funktion darüber gelaufen ist?
Zergling-new ist offline  
Alt 02.12.2005, 11:17  
Erfahrener Benutzer
 
Registriert seit: 14.04.2005
Beiträge: 1.004
search
Standard

Warum nimmst du nicht die bbcode class die ich dir vor geraumer Zeit schon mal gepostet habe?
http://www.christian-seiler.de/projekte/php/bbcode/
__________________
schlimmer gehts nimmer.... dümmer immer!
search ist offline  
Alt 02.12.2005, 13:53  
Gast
 
Beiträge: n/a
Standard

Weil ich den anderen mit einem Freund programmiert habe.
Und es klappt ja auch auf einer anderen Seite.

So ich habe jetzt ein weiteres Probelm.
Ich bekomem folgende Meldung:

Fatal error: Cannot redeclare smilies() (previously declared in D:\Webdesign\xampp\htdocs\forum\function\function\ smilies.php:2) in D:\Webdesign\xampp\htdocs\forum\function\function\ smilies.php on line 35

Wenn ich diesen Teil des Codes mti in die For Schleife einbaue:

PHP-Code:
<?php
                
include("function/function/smilies.php");
                
$new_entry[$i] = smilies $beitrag[$i] );

                include(
"function/function/bbcodes.php");
               
$beitrag[$i] = bbcode $new_entry[$i] );
?>
Aber ich weiß nicht warum?
 
Alt 02.12.2005, 14:41  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Warum muss das include in die for-Schleife?
Wenns unbedingt sein muss, was ich nicht glaube, benutz include_once:
http://de2.php.net/include_once
Zergling-new ist offline  
Alt 02.12.2005, 16:20  
Gast
 
Beiträge: n/a
Standard

Habe es jetzt so gemacht:

PHP-Code:
<?php
include_once("function/function/bbcodes.php");
$beitrag[$i] = bbcode $beitrag[$i] );

include_once(
"function/function/smilies.php");
$beitrag[$i] = smilies $beitrag[$i] );
?>
Ich bekomme jetzt keine Fehlermeldung. Aber er wird auch noch immer nicht verändert.
Hier kannst du es dir mal ansehen:
http://newwarrior.milten.lima-city.d...=1&thread_id=1
 
Alt 02.12.2005, 16:52  
Gast
 
Beiträge: n/a
Standard

könnte echt eure hilfe gebrauchen
 
Alt 02.12.2005, 16:54  
Erfahrener Benutzer
 
Registriert seit: 21.05.2008
Beiträge: 9.937
Zergling-new wird schon bald berühmt werden
Standard

Ich habe dir schonmal gesagt, lass dir die Variable $bbcode innerhalb deiner bbcode()-Funktion jedes mal ausgeben, wenn du eine Funktionn (preg_replace) auf sie aufgerufen hast.
Zergling-new ist offline  
 


Themen-Optionen
Thema bewerten
Thema bewerten:

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

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are an
Gehe zu

Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
JS: Einführung - Javascript im Schichtenmodell nikosch Tutorials 4 11.04.2009 17:06
[Erledigt] Problem mit ereg Funktion! Horvi PHP Tipps 2008 7 20.05.2008 14:29
Problem beim Aufruf einer Funktion elwood PHP Tipps 2008 6 30.08.2007 12:54
Problem mit Funktion Kein Genie PHP Tipps 2007 33 12.03.2007 15:10
(schnellere) Funktion zum Zusammenfassen von CSS PHP-Fortgeschrittene 21 08.08.2005 16:47
In einer Funktion auf eine Funktion der Klasse zugreifen phpbeginner PHP Tipps 2005-2 2 28.07.2005 00:30
[Erledigt] Problem mit Backslash Patrick Schwarz PHP Tipps 2005-2 5 26.07.2005 09:54
Problem mit PFad Firefox - Verzeichnis löschen PHP Tipps 2005-2 0 19.07.2005 16:05
[Erledigt] Problem bei Massenmails versenden mit der Funktion mail PHP-Fortgeschrittene 3 19.01.2005 13:36
problem mit der "die" funktion aircrash PHP Tipps 2005 2 08.01.2005 19:44
Problem mit Umsetzung einer Funktion Datenbanken 1 20.12.2004 14:37
problem mit update funktion aircrash PHP Tipps 2004-2 3 17.11.2004 16:55
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51
Problem mit Funktion PHP Tipps 2004 3 17.07.2004 14:30
Problem mit mail() - Funktion PHP Tipps 2004 2 06.07.2004 18:21

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
smilieszeiche n

Alle Zeitangaben in WEZ +2. Es ist jetzt 17:51 Uhr.




Powered by vBulletin® Version 3.7.2 (Deutsch)
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.
Search Engine Optimization by vBSEO 3.2.0
Aprilia-Forum, Aquaristik-Forum, Liebeskummer-Forum, Zierfisch-Forum, Geizkragen-Forum

Creative Commons License
Dieser Inhalt ist unter einer Creative Commons-Lizenz lizenziert.