Str_replace и bb code

msirius

Registered
Здравейте, имам следния код:

Код:
$text=preg_replace("/\[code=(.+?)\](.+?)\[\/code\]/s",'<pre class="brush: $1">$2</pre>',$text);

$text = nl2br($text);

$text = nl2br($text); ми слага <br>-та, това е добре, но как мога да ги махна (replace-на) между bb code-а [code...][/code]. Мисля да ги replace-на с празно пространство ето така:

Код:
$bb =str_replace("<br>", " " , $bb);

Но как този replace да си извършва само между [code...] и [/code] ?

Благодаря предварително!
 
Код:
function bbcode($txt)
{
$bb[0] = "/\[b\](.*)\[\/b\]/";
$bb[1] = "/\[url\=(.*)\](.*)\[\/url\]/";

$html[0] = "<strong>$1</strong>";
$html[1] = "<a href=\"$1\">$2</a>";
$rezultat = preg_replace($bb, $html, $txt);
return $rezultat;
}
echo bbcode("[b]udebelqvane![/b] [url=http://www.web-tourist.net/]link[/url]");

8)
 
asiudfoisaznhfo каза:
Код:
function bbcode($txt)
{
$bb[0] = "/\[b\](.*)\[\/b\]/";
$bb[1] = "/\[url\=(.*)\](.*)\[\/url\]/";

$html[0] = "<strong>$1</strong>";
$html[1] = "<a href="$1">$2</a>";
$rezultat = preg_replace($bb, $html, $txt);
return $rezultat;
}
echo bbcode("[b]udebelqvane![/b] [url=http://www.web-tourist.net/]link[/url]");

8)
Не не, не ме разбра правилно. Аз bbcode-а съм си го направил. Проблеми е че за изкарване на кода използвам syntaxhighlighter и понеже имам това:

$text = nl2br($text);

Кодовете ми излизат ето така:

Код:
#include <iostream><br>
#include <windows.h><br>

using namespace std;<br>

Трябва ми код който да маха тия <br>-та, и аз кода го знам как ще стане:

$bb =str_replace("<br>", " " , $bb);

НО незнам как да направя така че този код да се изпълнява само при кодовете, тоест между [code...] и [/code].
 
Аз вече се оправих, оказа се че syntaxhighlighter-а си е имал настройка специално за проблема с <br>-тата.. Мерси все пак :)
 

Back
Горе