"We are back" « oc.at

[php] S: reguläre ausdrücke

h4de5 02.11.2002 - 17:11 1569 15
Posts

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
hi,
suche folgende reguläre ausdrücke zum ersetzen von

[_url="www.blubb.at"]blubb.at[/url_]
auf
<a href="www.blubb.at">blubb.at</a>

[_EMAIL=1@2.3]mail me[/EMAIL_]

[ img]bla.gif[/ img]
auf
<img src=bla.gif>

[_b][_u][_i]dick[/i_][/u_][/b_]
auf
<b><u><i>dick</i></u></b>

usw.

hab leider keine allzugroßen kenntnisse mit den ausdrücken, aba ich glaub einige von euch haben sich diese ausdrücke schon mal irgendwo herausgesucht?

danke im vorraus
PS: die _ gehören nicht dazu sind nur, damit ers hier nicht durch den code ersetzt ..

SciZo

Bloody Newbie
Registered: May 2002
Location: Germany
Posts: 19
hab ich schon mal was gehabt.. kenn mich net so aus aber musst mit erreg replace oder so machen *nachschauwiesgeht*

Edit:
so da kannst durchlesen:
http://php3.de/manual/de/printwn/fu...reg-replace.php

Sieht dann bei dir so etwa aus:

echo ereg_replace ("[ b]", "< b>", $string);
echo ereg_replace ("[ /b]", "< /b>", $string);
echo ereg_replace ("[ url]", "< a>", $string);
..............
.............
Bearbeitet von SciZo am 02.11.2002, 17:20

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
ja die kleinen [ b] auf <b> sind ja ned wirklich intressant, aba die [ url=bla.at]bla.at[/url ] stellen a problem für mich da

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von SciZo
hab ich schon mal was gehabt.. kenn mich net so aus aber musst mit erreg replace oder so machen *nachschauwiesgeht*

Edit:
so da kannst durchlesen:
http://php3.de/manual/de/printwn/fu...reg-replace.php

Sieht dann bei dir so etwa aus:

echo ereg_replace ("[ b]", "< b>", $string);
echo ereg_replace ("[ /b]", "< /b>", $string);
echo ereg_replace ("[ url]", "< a>", $string);
..............
.............
ganz zu schweigen davon, dass das [ url] net funken wird ist für die ersten zwei str_replace() besser geeignet - ereg is überhaupt :bash: hab ich mir sagen lassen :)

also das mitn url...:
preg_replace ("/\[url(=.*)?\](.*)?\[\/url\]/is","<a href='\\1'>\\2</a>",$string);

das is jetzt mehr so übung für mich selbst, weil ichs mir grad selber lern :D - also es besteht kein anspruch auf richtigkeit.... :p - aber sagt mir bitte was falsch is :)

edit: ahhh, escapen vergessen :)

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
Zitat von watchout
also das mitn url...:
preg_replace ("/\[url(=.*)?\](.*)?\[\/url\]/is","<a href='\\1'>\\2</a>",$string);

bibber .. :D werds mal testen :) danke

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
ganze blöde frage:
"und wie gehts kervehrt herum?"

also von
<a href=....
auf
[_url ...

bin ned wirklich gut im lesen von den dingern :D

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von h4de5
bibber .. :D werds mal testen :) danke
achja, hab ich vergessen, falls du dich wunderst: $ergebnis = preg_replace (...); ;)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von h4de5
ganze blöde frage:
"und wie gehts kervehrt herum?"

also von
<a href=....
auf
[_url ...

bin ned wirklich gut im lesen von den dingern :D
oh, kervehrt is ein bissal extremer - immerhin kannst du es dir um vieles leichter machen, wenn du weisst, dass es komputageneriert is' ;)

dann müssts so ca gehn:
$erg = preg_replace("/<a href=[\"'](^[\"'])[\"']>(.*)?<\/a>/is","[UR_L=\\1]\\2[/URL]",$eingabe);

an einer regexp für nicht komputageneriert sitz ich selber grad - krass :D

ps: wie immer besteht kein anspruch auf korrektheit :D

edit: blöder bb-code parser :D - jetzt musst du nur den underline (_) rausnehmen
edit2: wo bleibt da master ringding - ich möcht endlich wissen, ob ich'n schmafu erzähl :) :p
Bearbeitet von watchout am 02.11.2002, 18:04

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
ja.

aber:
[ url="http://www.blubb.at"]hp auf blubb.at[/url ]
wird zu
<a href='="http://www.blubb.at"'>hp auf blubb.at</a>

:(

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
Zitat von watchout
edit: blöder bb-code parser :D - jetzt musst du nur den underline (_) rausnehmen

"dereee da fehlt ein button." :D ;)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
ups - problem erkannt :)
preg_replace ("/\[url=\"(.*)?\"\](.*)?\[\/url\]/is","<a href=\"\\1\">\\2</a>",$string);

so müssts funken :)

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von h4de5
"dereee da fehlt ein button." :D ;)
jo, mir auch schon aufgefallen :) - normal is das beim vbb ja afaik auch eingebaut ....

edit: ok - v5-feature-request wurde gesetzt :)
Bearbeitet von watchout am 02.11.2002, 18:12

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
Zitat von watchout
ups - problem erkannt :)
preg_replace ("/\[url=\"(.*)?\"\](.*)?\[\/url\]/is","<a href=\"\\1\">\\2</a>",$string);

so müssts funken :)

jupdidu!
is irgendwie ur schön, wenn was geht :)

gut hab des [ img] selbst probiert:

Code: PHP
$line[1] = preg_replace ("/\[ img](.*)?\[\/img\]/is","<img src=\"\\1\">",$line[1]);

funkt sogar :D

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von h4de5
gut hab des [ img] selbst probiert:

Code: PHP
$line[1] = preg_replace ("/\[ img](.*)?\[\/img\]/is","<img src=\"\\1\">",$line[1]);

funkt sogar :D
wie hast du DASS nun wieder hingekriegt :D

rofl - nexter website-bug :D

h4de5

-
Avatar
Registered: Sep 2001
Location: bgld
Posts: 1112
noch eins dann geh i schlafn:

aus:

[ url="http://www.blubbl.at/pferd.jpg"] [ img]images/cow_big.gif[/img] [/url]

[ url="http://www.blubbl.at/pferd.jpg"] [ img]images/cow_big.gif[/img] [/url]

wenn ich des 2mal hintereinander stehn hab .. kommt


<a href="http://www.blubbl.at/pferd.jpg"] <img src="images/cow_big.gif[/img] [/url]<br><br>[url="http://www.blubbl.at/pferd.jpg"> [img]images/cow_big.gif"> </a>
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz