eckige klammern ersetzen

top_search.gif


--> http://www.koehntopp.de
 
auf der seite steht doch alles.
sag halt gleich das du irgend ein fertigen code haben willst.

dann saug den vbb code (heisst das so ?) oder irgendein andres forum was sowas verwendet, und klaus dir zam...
 
:)

Der reguläre Ausdruck für ein [ URL=.. .]-tag ist folgender:
PHP:
/\[url=(['\"]?)([^\"'](.*)\[\/url\]/esiU

Wenn du dich ein bissl mit ereg_replace() auskennst oder kundig machst, is das kein problem :)

Hoffe dir geholfen zu haben :)
 
Re: :)

Original geschrieben von |[ Kab00m ]|
PHP:
/\[url=(['\"]?)([^\"'](.*)\[\/url\]/esiU
Kurze Frage dazu :)
PHP:
([ b ]*)(.*)(\[ /b ])
Wie kann ich in diesem teil den mittelteil der zwischen [ b ] und [ /b ] steht ausgeben ? Es sollte ja normalerweise mit //1 o.ä gehen, tut es aber nicht.
Ich bitte um Hilfe =)

Grüße, Morph
 
wenn du mit ereg arbeitest, kannst du ja immer noch eine 'ausgabevariable' angeben

also ereg(suchmuster,$var,$ausgabe);

dann ist $ausgabe ein array, der je nach dem wie deine klammern im suchmuster gesetzt sind deinen wert enthält
 
Original geschrieben von godwich
wenn du mit ereg arbeitest, kannst du ja immer noch eine 'ausgabevariable' angeben

also ereg(suchmuster,$var,$ausgabe);

dann ist $ausgabe ein array, der je nach dem wie deine klammern im suchmuster gesetzt sind deinen wert enthält
Ahso - supi, dankeschön :)

Grüße, Morph
 
Ich blick da echt nimma durch ...
PHP:
$string = ereg_replace("(\[b\]*)(.*)(\[/b\])","<b>(.*)</b>",$string);
funktioniert ja soweit, nur wie soll ich da den teil zwischen [ b] und [ /b] ausgeben ? ...
Deine Version ist ja ganz schön ->
PHP:
$string = eregi("(\[b\]*)(.*)(\[/b\])",$string,$b);
aber wenn ich die schose mit $b[0] z.B. aufrufe bekomm ich nur den ganzen Kram zurückgegeben ...
Kennst dazu nicht irgend nen gescheites Tutorial ? Sich das allein ohne wirklich gute Erklärung reinzuziehen ist sch****.

Grüße, Morph
 
nein was genau das beschreibt, kenne ich kein tutorials.

auf php4-foren.de und auf dclp (!) gibts paar nette sachen.

aber hier mal ein beispiel, für deinen fall:

PHP:
$string = "[b ]ein dicker text[/b ]";
$a = preg_match("/(\[ b\])(.*)(\[\/ b\])/",$string, $b); ##ohne leerzeichen

$i = 0;
foreach($b as $ar){
 $i++;
	print $i.": ".$ar."<br>";
}

der erste wert (0) deines arrays, ist immer der komplette string.

leider kann ich das alles auch nicht so gut erklären, weil ich mich selbst nicht gut auskenne ;)
habe auch erst damit angefangen.
 
Zurück