php.de

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

 
 
LinkBack Themen-Optionen Thema bewerten
Alt 07.09.2006, 12:19  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard brauche einen regulären Ausdruck ?preg_replace?

Ich habe leider nur wenig Ahnung von regulären Ausdrücken und würde gerne folgedes ersetzen:
text1
Zitat:
Zitat von bla
text2
text3
durch:
text1<fieldset><legend>bla</legend>text2</fieldset>text3

bzw:
text1
Zitat:
text2
text3
durch:
text1<fieldset>text2</fieldset>text3

Jemand nen Tip für mich?

Denke mal preg_replace ist schon der richtige weg, aber dann?

Danke CC
CC84 ist offline  
Sponsor Mitteilung
PHP Code Flüsterer

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

Alt 07.09.2006, 12:53  
Benutzer
 
Registriert seit: 16.10.2004
Beiträge: 90
freitz
Standard

PHP-Code:
<?php
$text 
'text1[quote=bla]text2[/quote]text3 ';
$text preg_replace ('{\[quote=(.*)\](.*)\[/quote\]}smUi''<fieldset><legend>\\1</legend>\\2</fieldset>'$text);
echo 
$text;
freitz ist offline  
Alt 07.09.2006, 13:21  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

Super danke, das klappt soweit ganz gut, nur kann ich dann nur ein Quote machen. Wenn es geschachtelt wird scheitert das, was ja auch logisch ist. Gibts ne möglichkeit das ganze Rekursiv zu definieren?

Oder muss ich dann die Quotes und die /quotes getrennt betrachten und vorher überprüfen, ob alles wieder geclosed ist?

Achso und meine 2. Bedingung ist auch nicht erfüllt, was aber daran lag, dass ich Code geschrieben habe den das phpBB ersetzt hat.

Undzwar soll ein
Zitat:
text
also ohne zusätzlichen Parameter auch ersetzt werden.
CC84 ist offline  
Alt 07.09.2006, 15:57  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

Nun, die Lösung ist einfacher. Ersetze einfach mal alle [/quote] durch </fieldset>.
Das sollte mit str_replace kein Problem sein.

Und suche in deinem RegEx nur die Anfänge. Also die [quote=abc] und ersetze die durch <fieldset><legend>abc</legend>. Anleitung steht ja schon da!

Gruß,
Stefan
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline  
Alt 07.09.2006, 15:58  
Erfahrener Benutzer
 
Benutzerbild von stefanjann
 
Registriert seit: 02.08.2005
Beiträge: 252
PHP-Kenntnisse:
Fortgeschritten
stefanjann
Standard

PS: nur [quote] kannst du auch einfach mit str_replace schon vor deinem preg_replace ersetzen lassen.
__________________
SELECT * benutze ich nur um den Post kurz zu halten.
stefanjann ist offline  
Alt 07.09.2006, 16:28  
Erfahrener Benutzer
 
Registriert seit: 03.01.2006
Beiträge: 253
CC84
Standard

[quote="stefanjann"]PS: nur
Zitat:
kannst du auch einfach mit str_replace schon vor deinem preg_replace ersetzen lassen.
ok,das bekomme ich gerade noch hin ^^ und war auch meine Alternative.
Wollte eben nur wissen obs da auch ne Variante mit nem regulären Ausdruck für gibt.


Gruß

CC
CC84 ist offline  
Alt 07.09.2006, 19:42  
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

einfach \[quote=(.*)\] durch \[quote=?(.*)\] ersetzen sollte funktionieren...
nikosch ist offline  
Alt 08.09.2006, 00:41  
Benutzer
 
Registriert seit: 16.10.2004
Beiträge: 90
freitz
Standard

das ist keine schöne lösung die start und end-tags zu trennen. dadurch kann ein user das design total verzerren.


PS: schau mal ins tutorial board, da wurde vor kurzem was zu bbc gepostet
freitz 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
Datenbanktabelle erstellen - brauche Hilfe Raccoon PHP Tipps 2008 1 14.06.2008 11:03
Regulären Ausdruck Übersetzen (preg_match) mAy^daY PHP Tipps 2007 11 04.01.2007 14:00
Logischer Ausdruck aus DB überprüfen c!w PHP Tipps 2006 15 12.09.2006 13:36
Brauche Funktion um Strings aus einer txt-Datei zu zählen mark_gebert PHP Tipps 2006 11 16.08.2006 14:30
Mit if Abfrage innerhalb eines strings einen Ausdruck suchen tinchen PHP Tipps 2006 4 11.04.2006 10:18
Ich brauche eure Hilfe beim rechnen... GELight PHP Tipps 2006 6 07.04.2006 14:20
Ich brauche eure Hilfe PHP Tipps 2006 22 19.02.2006 19:57
Regul�rer Ausdruck PHP Tipps 2006 3 01.02.2006 19:50
Regulärer Ausdruck: Ping-Zeiten speichern mAy^daY Server, Hosting und Workstations 9 12.01.2006 19:51
[Erledigt] Regulärer Ausdruck PHP-Fortgeschrittene 1 21.01.2005 11:39

Besucher kamen über folgende Suchanfragen bei Google auf diese Seite
phpbb text quote preg_replace, preg_replace \quote=\, \\preg_replace für ausdruck mit \\=, php alternative zu str_replace, preg_replace php alternative

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