php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 21.02.2009, 11:43  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard Mit unterschiedlichen Werten auf das Manual verlinken

Hallo Leute und schönes WE vorweg.

Ich abe mich entschieden meine Verlinkungen auf das Manual anders zu machen. Mit dem Wortfinder das war keine optimale Lösung.

Nun mache ich das über ein preg_replace.

Code:
PHP-Code:
$pattern "#\[man=([a-z0-9\/\:\._]+)(\])#";
  
$ersatz_func ='<a href="http://de2.php.net/manual/de/function.$1">';
  
$text preg_replace($pattern$ersatz_func$text);
  
$text str_replace("[/man]"'</a>'$text); 
Das klappt so auch super. Nur gibt es nun ein Problem,ich will auch wenn jemand den Manual Tag für for oder while nutzt richtig aufs Manual verlinkt wird.

Ich habe nun einiges Versucht auch über Arrays,aber nichts hat richtig funktioniert.

Der Link für Fun ktionen im Manual sieht aus wie im Code Beispiel. Für Strukturkontrollen aber so PHP: for - Manual

So wie kann ich es nun erreichen das richtig verlinkt wird egal was gerade gewählt wurde ob eine Funktion oder eine Kontrollstruktur.

Mein Ansatz war so.
PHP-Code:
$cs_arr = array('for','while','foreach');
  
$pattern "#\[man=([a-z0-9\/\:\._]+)(\])#";
  
$ersatz_con '<a href="http://de2.php.net/manual/de/control-structures.$1">';
  
$ersatz_func ='<a href="http://de2.php.net/manual/de/function.$1">';
  if(
count($cs_arr) > 0)
  {
   
$text preg_replace($pattern$ersatz_con$text);
  }
  
$text preg_replace($pattern$ersatz_func$text);
  
$text str_replace("[/man]"'</a>'$text); 
So nun ist das logische Problem wenn einmal jemand auf eine Kontrollstruktur verweisen will dann ist das Array automatisch größer 0 und somit wird dann auch wenn einer im gleichen Text auf eine Funktion im Manual verweisen das nicht mehr im else Zweig ausgeführt,weil ja die Bedingung im if Zweig schon wahr gewurden ist.

Ich habe nun auch schon gesucht aber nichts gefunden was mich direkt weiter bringt.

Weiterhin dachte ich nun mit preg_match zu untersuchen,wo ich aber dann auch keinen richtigen Ansatz nun zu finde.

Ich danke euch für ein paar Ideen wie ich das am besten umsetzen kann oder wo mein Denkfehler ist.

mfg der litter
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 21.02.2009, 12:03  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Ich würde mir den ganzen Stress garnicht machen. Das Manual auf php.net kannst du auch einfach so aufrufen:
php.net/for
php.net/str_replace
und du landest auf der richigen Seite....
__________________
Today you...Tomorrow me.
agrajag ist offline  
Alt 21.02.2009, 15:09  
Erfahrener Benutzer
 
Benutzerbild von litterauspirna
 
Registriert seit: 24.04.2008
Beiträge: 3.172
PHP-Kenntnisse:
Anfänger
litterauspirna sorgt für eine eindrucksvolle Atmosphärelitterauspirna sorgt für eine eindrucksvolle Atmosphäre
litterauspirna eine Nachricht über ICQ schicken
Standard

Stimmt da habe ich mair das wieder unnötig schwer gemacht. Momentan sieht das bei mir so aus und funktioniert.

[ man=count ]count[ /man ]

Nun würde ich es gern so haben,alo einfacher. [ man ]count[ /man ].

Ich hab das dann so versucht und komme nicht zum Erfolg.

PHP-Code:
$pattern "#\[man](.*?)#";
  
$ersatz '<a href="http://de2.php.net/$1">$1';
  
$text preg_replace($pattern$ersatz$text);
  
$text str_replace("[/man]"'</a>'$text); 
Ich weis auch warum das net funzt ,weil ja das $1 so wie da angegeben nicht in [ man ] vorkommt. Nur frage ich mich wie ich es schaffe,das richtig anzuzeigen wenn ein BB-Code zum Manual so aussieht [ man ]count[ /man ].
__________________
Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
http://www.lit-web.de
litterauspirna ist offline  
Alt 21.02.2009, 15:15  
Moderator
 
Benutzerbild von agrajag
 
Registriert seit: 02.10.2006
Beiträge: 3.820
PHP-Kenntnisse:
Fortgeschritten
agrajag wird schon bald berühmt werdenagrajag wird schon bald berühmt werden
Standard

Warum verwendest du da eigentlich eine Kombination aus preg_replace und str_replace? preg_replace() reicht doch vollkommen.

In etwa so (ungetestet):
PHP-Code:
$text preg_replace('#\[man\](.*)\[\/man\]#Ui''<a href="http://php.net/$1">$1</a>'$text); 
__________________
Today you...Tomorrow me.
agrajag 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
[Erledigt] Dropdown mit Werten aus mySQL Tabelle füllen PHP Tipps 2005 18 11.06.2009 10:46
Textfeld mit Werten einer Datenbank füllen thiagojonas Datenbanken 9 14.01.2009 21:56
Teilbereich eines Bildes markieren und verlinken Redfish PHP Tipps 2006 4 30.05.2006 08:45
Verlinken in Tabelle HTML, Usability und Barrierefreiheit 9 06.11.2005 21:13
Vergleich von einem Wert, mit Werten aus einer Tabelle PHP Tipps 2005 14 01.11.2005 03:04
php Seite im Index verlinken PHP Tipps 2005-2 19 15.08.2005 19:58
PHP Manual zum herunterladen Beitragsarchiv 10 27.04.2005 17:00
Downloads auf der Seite verlinken themonk Off-Topic Diskussionen 9 15.02.2005 11:53
Tutor: Eine SELECT-Liste mit Werten aus MySQL-Tabelle füllen PHP Tipps 2005 14 04.02.2005 17:04
Druckbaren Manual PHP Tipps 2004-2 1 24.12.2004 12:12
Gifs verlinken PHP Tipps 2004 3 16.10.2004 01:13
ez publish - deutsches Manual? PHP Tipps 2004 1 17.09.2004 11:56
mysql manual Datenbanken 1 04.09.2004 00:24
werte einer tabelle mit werten einem array vergleichen PHP Tipps 2004 1 08.07.2004 21:33
Ausswahlliste verlinken?? PHP Tipps 2004 4 20.06.2004 23:02


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