ugrás a tartalomhoz

Mintaillesztés megvalósítása bbcodehoz

Anonymous · 2006. Jan. 31. (K), 23.20
Hellósztok létrhoztam egy egész pofás fórumot, csak egy valami hiányzik belőle a bbcode és ebben szeretném ha segítenétek nekem.
Eddig az strtr kódot használtam és pl. így
<?php

$bbcodes = array(

	//Félkövér betü
"" => "<b>",		//Félkövér betü megkezdése
"" => "</b>"        //Félkövér betü bezárása
);

print strtr("$_POST[message]", $bbcodes); // ígyx meg szépen kiirattam
?>
na de most így be kellet lőnöm az össze színt pl.

[fcolor=red] => <font color="red">
[/fcolor] >= </font>

na ezt most csinálhatnám egy darabig, na de mi van akkor ha a felhasználó megad 1 ilyen kódot pl.: #303030 vagy kihagyom a red-t és beirja ezt, nos akkor nem ismeri fel.
Na azt h tudnám megcsinálni h felismerje pl. valami változót találni rá?
pl. [fcolor=$color]$text[/fcolor]
vagy nem tudom mit javasolnátok rá?
és valami ilyesmivel kell gondolom az autómata link csinálást it

Kérlek segítsetek vh, olyan ne fv-t irjatok hanem pl-t légyszi.
Nos, előre is kösszönöm

Tóth Zoltán
 
1

<Nincs cím>

-zsolti- · 2006. Jan. 31. (K), 23.27
Nézd meg ezt a kész osztályt, ha másért nem az ötlet miatt.
2

mintaillesztés

Hojtsy Gábor · 2006. Jan. 31. (K), 23.34
Mintaillesztésnek hívják azt, amit szeretnél, eszerint módosítottam a téma címét. A legjobban a preg függvények ajánlhatóak ehhez, de mivel kifejezzen nem függvény címet kértél, én is csak azt tudom mondani, hogy meglévő megvalósításokat vizsgálj meg.
3

re

Anonymous · 2006. Feb. 1. (Sze), 00.03
Nos, korábban nekem is körül kellett néznem ez ügyben..
Kicsit magas volt először a dolog, mert át kellett rágnom magam a reguláris kifejezéseken, de megérte! Javallom neked is.

Itt egy példa a szövegszínezésre:

<?php
function formazas($string) {
 $mitcserelsz = array('/\[font color\=(.*?)\](.*?)\[\/font\]/is');
 $mirecsereled = array('<font color="$1">$2</font>');

 $string = preg_replace ($mitcserelsz, $mire, $string);
        return $str;
}
Ha nem a legszebben oldottam meg, előre is bocsi :)
4

<Nincs cím>

Anonymous · 2006. Feb. 2. (Cs), 11.40
ok, köszönöm.
Sikerült, so most akkor ollan kéne nekem h linkek autómata átalakítása:
megpróbáltam jó is pl.: http://www.valami.hu ez jó de az lenne a jó ha ez is jó lenne: pl.: http://www.valami..valaki.hu/forum/index.php?mode=action&user_name=214
na ezt h oldom meg
ja meg esetleg www nélkül, kérlek segítsetek nekem
5

<Nincs cím>

Anonymous · 2006. Feb. 2. (Cs), 19.56
Nos meg tudtam csinálni nem tom h ez jó-e légyszi segítsetek ezt eldönteni:

print preg_replace("/http:\/\/[a-z1-9A-Z\S]*/", "<a href=\"$0\">$0</a>", $url);
?>
nem tom h jó-e végülis az a lényeg h a http:// elejüeketm de csak azokat alakítsa linké szerintetek?
6

<Nincs cím>

Anonymous · 2006. Feb. 3. (P), 13.26
v pl. smile gombok létrhozása?
7

<Nincs cím>

Anonymous · 2006. Feb. 4. (Szo), 23.05
nos volt egykét gondom pl. h linknél mikor textarea-ben enter-t ütök és úgy mentem majd nl2br-el sortörésekké alkítom akkor azt a link után vette ha az volt a végén nos ez elég nagy baj volt, de nagy nehezen kiküszöböltem így:
$mit = array("/<br \/>/");
$mire = array(" <br />");

de most van még1 gondom smiley-ket szeretnék eddig ok is:
$mit3 = array_push($mit, "/:\)/");
$mire3 = array_push($mire, "<img src=\"images/smiley/smiley.gif\" alt=\":)\" title=\":)\" />");

na de most van egy olyan smile aminek az a kódja h: ::) és a mostaninak meg :) és akkor ezt is ennek veszi, ja meg ha linkben van ez a karakter h :) akkor is smiley-nak veisz h tudnbém azt megoldani h csak akkor alakítsa át ha elötte és utánna nincs más karakter, vagy space vagy a nagy semmit.
mondjuk utánna lehet vagy elötte is de a ::) ne vegye :)-nek.
Előre is köszönöm.
8

<Nincs cím>

Anonymous · 2006. Feb. 5. (V), 14.10
ÉN személyszerinte, szívesen segítenék, ha tudnék...