Autor Zpráva
DarkMeni
Profil
Zdravím, tak jsem se dal do bb ale hned u toho nejjednodušího jsem se zasek:
$string = "Normálně - [\b]tučně\[\/b] - normálně - [\b]pokus o tučný text - [\b]tučně[\/b] - normálně";
$pattern = "=\[b\](.*[^\[/b\]+])\[/b\]=i";
$replacement = "<b style='color:red;'>\\1</b>";
echo preg_replace($pattern, $replacement, $string);

Jsem čekal že ukáže něco jako:
-> Normálně - tučně - normálně - pokus o tučný text - \[b\]tučně - normálně
Ale vyšlo mi:
-> Normálně - tučně[\/b] - normálně - [\b]pokus o tučný text - [\b]tučně - normálně
(To lomítko za hranatou závorkou je tam proto, aby se to tu nepřevedlo na tučný text jinak u sebe tam to zpětné lomítko nemam)
Věděl by někdo co mam změnit nebo upravit aby to fungovalo jak má?
Měnit \[b\] na <b> je mi příjde neefektivní, kdyby někdo náhodou zapoměl BB kód zavřít tak má tučný i zbytek příspěvku, možná i zbytek stránky.
Rellik
Profil
Zkus to tak:
<?php
$string = "Normálně - [\b]tučně [\/b] - normálně - [\b]pokus o tučný text[\/b] - [\b]tučně[\/b] - normálně"; //  Ty zpětné \ lomítka vynech
echo preg_replace('/\[b\](.*?)\[\/b\]/is', '<b>\1</b>', $string); // tady nech beze změny
?>
DarkMeni
Profil
To je vono! :)
Kdyžtak, ať jsem zkušenější, mezi lomítkem "/" a "=" je rozdíl? A když už jsem u toho, ten kód asi upravil modifikátor s, protože jsem to taky takle zkoušel ale s "=" a bez toho modifikátora a nešlo to, tak jestli má někdo čas a ví co dělá tak co ten "s" udělá?
Rellik
Profil
No já neřeknu proč to tak je, protoře sem se tím nikdy nějak nezabýval, ale jde to i když dáš místo / mřížku #
zjistil sem že v jiném kódu to mám tak:
$vypis = preg_replace("#\[b\](.*?)\[/b\]#si", "<b>\\1</b>", $vypis);

A taky to dělá to samé...
DarkMeni
Profil
Aha, zjistil jsem kvůli čemu mi to nešlo, neměl jsem za hvězdičkou otazník a tak byl ten výraz prej "hladovej" ale teď zase řešim jak ošetřit BB na obrázek, nevíš náhodou které skripty co se můžou tvářit jako obrázky ale přitom jsou docela nebezpečné, vim o php, u asc nebo jak se ten "Active Server Script" jmenuje nevim jestli to umí a neznam ani jejich koncovky, zkrátka mi teď jde o to zjistit koncovky nebezpečných skriptů.

A nebo vůbec, dokáže php skript co by se tvářil jako obrázek udělat nějaké změny v základním skriptu?
Kcko
Profil
DarkMeni:
Stáhni si fórum typu PHBB, MINIBB a podívej se na jejich BB kód a převádění ...
Vysvětlovat Ti to postupně by bylo na dlouho a ty regulární vyrazy jsou otestované.
Tori
Profil
DarkMeni:
mezi lomítkem "/" a "=" je rozdíl?
Není. První znak reguláru se považuje za oddělovač. Nesmí to být písmeno, číslo, zpětné lomítko ani bílý znak. Většinou se použije takový, který se nevyskytuje v reguláru (aby nebylo potřeba escapovat).

co ten "s" udělá?
Udělá, že tečka bude znamenat "jakýkoli znak včetně \n". Modifikátory

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0