php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 12.11.2006, 15:16  
Kein Genie
Gast
 
Beiträge: n/a
Standard Quote - Funktion

Hallo,

ich habe folgende QuoteFunktion

PHP-Code:
<?php function quote($quote)
{
  
$regex '#\[ quote]((?:[^[]|\[(?!/?quote])|(?R))+)\[/ quote]#';

  if (
is_array($quote)) {
   
$quote '<center><div id=quote>[b]Zitat[/b]: 

'
.$quote[1].'</div></center>';
  }
  return 
preg_replace_callback($regex'quote'$quote);
}
Aber die bringt meinen localhost ständig zum abstürtzen, wenn der Text ein bisschen länger ist.
Wie kann ich die Funktion so umbauen, dass er sich nicht gleich aufhängt, wenn ich die Funktion aufrufe???

Danke
 
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 12.11.2006, 18:39  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

dein regulärer ausdruck stimmt aber hinten und vorne nicht.
-leerzeichen vor quote
-schließende eckige klammern nicht gequotet
nikosch ist offline  
Alt 12.11.2006, 18:41  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Die Leerzeichen sind da weil die sonst interpretiert würden.

Und wie kann ich die eckige Klammer quoten?
 
Alt 12.11.2006, 18:43  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

versteh ich nicht.
\[ und \] quotet eckige klammern. da braucht man keine leerzeichen. wundert micht, daß dein ausdrück überhaupt funktioniert.
nikosch ist offline  
Alt 12.11.2006, 18:52  
Kein Genie
Gast
 
Beiträge: n/a
Standard

PHP-Code:
function quote($quote)
{
  
$regex '#\[quote\]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote\]#';

  if (
is_array($quote)) {
   
$quote '<center><div id=quote>[b]Zitat[/b]: 

'
.$quote[1].'</div></center>';
  }
  return 
preg_replace_callback($regex'quote'$quote);

So sieht die Funktion aus.
Aber immer wenn ich die Seite mit den Posts aufrufe, wird es abgebrochen da die Zeit überschritten wird.
Ich verstehe aber nicht warum.
 
Alt 12.11.2006, 19:03  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Gibt es vielleicht eine anderen Möglichkeit dafür?
Also ich meine eine ander Funktion schreiben die auch verschatelte Versionen berücksichtigt?
 
Alt 12.11.2006, 19:13  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

ich seh immer noch ne ungequotete klammer.
was genau soll das
?!/?quote
schreib doch mal n beispiel, wie deine bb-code auszeichnung aussehen kann.

wieso wird preg_replace_callback () innerhalb der funktion aufgerufen, die es selbst aufruft? das muß ja ne endlosschleife geben. verwende doch einfach preg_match oder preg_replace.
nikosch ist offline  
Alt 12.11.2006, 19:15  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Ok,

diese Funktion ist nicht von mir sondern von einem Freund.
Ich habe eigentlich keine ahnung von Regulären ausdrücken.
Kannst du mir helfen sie umzuschreiben bzw. neu zu schreiben?

Danke
 
Alt 12.11.2006, 19:18  
moderatives Dielektrikum
 
Benutzerbild von nikosch
 
Registriert seit: 21.05.2008
Beiträge: 35.987
PHP-Kenntnisse:
Fortgeschritten
nikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunftnikosch hat eine strahlende Zukunft
Standard

selbstzitat
Zitat:
Zitat von nikosch77
schreib doch mal n beispiel, wie deine bb-code auszeichnung aussehen kann.
oder soll.
nikosch ist offline  
Alt 12.11.2006, 19:24  
Kein Genie
Gast
 
Beiträge: n/a
Standard

Also hier ist mal meine BBCODE - Funktion:

PHP-Code:
<?php
  
function bbcode ($bbcode){
    
$search  = array( 
              
'`\[b\](.*)\[\/b\]`Usi',  
              
'`\[center\](.*)\[\/center\]`Usi',
              
'`\[u\](.*)\[\/u\]`Usi'
              
'`\[i\](.*)\[\/i\]`Usi',
              
'`\[s\](.*)\[\/s\]`Usi',
              
'`\[url\](.*)\[\/url\]`Usi',
              
'`\[img\](.*)\[\/img\]`Usi',
              
'`\[email\](.*)\[\/email\]`Usi',
              
'`\[color=(.*)\](.*)\[\/color\]`Usi',
              
'`\[size=(.*)\](.*)\[\/size\]`Usi',
          ); 

    
$replace = array( 
              
'[b]\\1[/b]',
              
'<center>\\1</center>',
              
'<u>\\1</u>',
              
'[i]\\1[/i]',
              
'<s>\\1</s>',
              
'[url="\\1"]\\1[/url]',
              
'<center><div id=img>[url="\\1"]<img border=0 src=\\1>[/url]</div></center>',
              
'<a href=mailto:\\1>\\1</a>',
              
'<span style=color:\\1;>\\2</span>',
              
'<span style=font-size:\\1px;>\\2</span>',
              
'<center><div id=code_header>Code:</div><div id=code_content>\\1</div></center>');
    
$bbcode preg_replace($search$replace$bbcode);
    
$bbcode nl2br($bbcode);

    return 
$bbcode;
  } 

function 
quote($quote)
{
  
$regex '#\[quote\]((?:[^[]|\[(?!/?quote])|(?R))+)\[/quote\]#';

  if (
is_array($quote)) {
   
$quote '<center><div id=quote>[b]Zitat[/b]: 

'
.$quote[1].'</div></center>';
  }
  return 
preg_replace_callback($regex'quote'$quote);
}
?>
Und naja, wenn einer im Forum einen Beitrag zitieren will, klicke er auf das Icon dafür und dann steht dort
Code:
Zitat:
bbfdbdbd
Und jetzt will ich das er das durch
Code:
<div id=quote>Zitat:bbfdbdbd</div>
ersetzt.
Aber auch so das er verschachtelte Zitate hin bekommt.
 
 


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
Rekursive Funktion bricht ab... duras666 PHP Tipps 2008 9 28.04.2008 11:36
gpc_quotes funktion: verbesserungsvorschläge? Promaetheus PHP Tipps 2007 10 12.08.2007 19:29
Komplexe Funktion: +Übersichtlichkeit, -Performance Jacks Rache PHP Tipps 2006 3 07.06.2006 14:22
Array in rekursiver Funktion auslesen Gumfuzi PHP Tipps 2007 17 15.11.2005 12:01
PHP-GTK Tutorial Beitragsarchiv 9 02.11.2005 21:07
Rückgabewert einer rekrusiven Funktion PHP-Fortgeschrittene 7 06.10.2005 18:44
(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
Funktion in einer Funktion aufrufen? PHP Tipps 2005-2 11 14.06.2005 15:14
[Erledigt] Array-Übergabe in Funktion PHP Tipps 2005 1 08.05.2005 21:05
[Erledigt] Wie kann ich beliebig viele Werte an eine Funktion übergeben PHP Tipps 2005 11 25.01.2005 10:44
Funktion() anwendung -bitte um Hilfe PHP Tipps 2004-2 17 08.12.2004 11:58
[Erledigt] sql syntax error in funktion, kann aber nix finden :( PHP Tipps 2004 10 20.07.2004 19:19
[Erledigt] Referenz auf Funktion übergeben PHP-Fortgeschrittene 7 20.07.2004 09:51

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
php quote, php quote function, quoten funktion, ziitat-funktion eckige klammern, php fuction quote, quote function, function quotes php, php ->quote function, function quote php, zitat funktion bei skype, skype quote function, quote funktion, javascript quote function

Alle Zeitangaben in WEZ +2. Es ist jetzt 12:55 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.