Jump to content
php.lv forumi

BB kodi :: [code] vairākās rindās


emsy

Recommended Posts

Sveiki.

 

Man ir tāda problēma, man ir vajadzīgs, lai code bb kodu tagos var ievadīt tekstu vairākās rindās:

 

šobrīd mans BBkods izskatās šādi:

function bbc($value) {
$bb_replace = array(
'/(\[code])(.+)(\[\/code\])/'
);
$bb_replacements = array(
"<div class='code-field'>\\2</div>"
);
$value = preg_replace($bb_replace, $bb_replacements, $value);
return $value;
}

 

Man vajag panākt, lai nebūtu tā:

['code]

kods

kods

kods

...

[/code]

Pieņemsim, ka tās pēdiņas tur nav (['code])

 

 

Bet būtu tā:

kods
kods
kods
...

Edited by emsy
Link to comment
Share on other sites

es pagaidīju, lai tu pasaki, ka ir ok, lai tev pateiktu, ka nav ok :D:D:D

 

jo ja tu izmantosi [\s\S]+ tas paņems visus code uzreiz (ja būs vairāki [ code] tagi)

tāpēc lai tas būtu pieticīgāks un apstrādātu katru [ code]...[/code] atsevišķi, galā vajag pielikt ? kr4 šādi [\s\S]+?

 

(dažās vietās ieliku atstarpes, lai teksta/piemēra code nejuktu kopā ar foruma posta formatēšanu)

function bbc($s) {return preg_replace('/\[code]([\s\S]+?)\[\/code]/', '<div class="code-field">\\1</div>', $s);}

$s = '[code]
aaa
bbb
[/code ]

[code]
111
222
[/code ]';

echo bbc($s);

pamēģini pats paexperimentēt ar/bez ?

 

un tik vnkāršas funkcijas raksta vienā rindiņā ;)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...