posílám ti můj testovací script, na kterém si testuji svůj převadeč, inpiruj se!
<form method="get">
<textarea name="text" rows="10" cols="80"><?php if (isset($_GET['text'])) {
echo $_GET['text'];
} ?></textarea>
<input type="submit" name="submit" value="Prevest" />
</form>
<?php
function sanitizeCode($code) {
$code = trim($code);
$code = str_replace("]", "]", $code);
$code = str_replace("[", "[", $code);
return trim($code);
}
if (isset($_GET['text'])) {
$text = htmlspecialchars(trim($_GET['text']));
$keys = array(
'/\[code\](.*)\[\/code\]/Uesi',
'/\[b\](.*)\[\/b\]/Usi',
'/\[i\](.*)\[\/i\]/Usi',
'/\[u\](.*)\[\/u\]/Usi',
'/\[url\](.*)\[\/url\]/Usi',
'/\[url=(.*)\](.*)\[\/url\]/Usi',
'/\[image\](.*)\[\/image\]/Usi',
'/\[quote\](.*)\[\/quote\]/Usi',
);
$vals = array(
'"<code>" . sanitizeCode("\\1") . "</code>"',
'<strong>\1</strong>',
'<em>\1</em>',
'<span style="text-decoration:underline;">\1</span>',
'<a href="\1">\1</a>',
'<a href="\1">\2</a>',
'<img src="\1" />',
'<div class="quote">\1</div>',
);
$text = preg_replace($keys, $vals, $text);
$text = nl2br($text);
echo $text;
}
Jinak k tvé otázce, tomu si říká nenasytnost, a vypíná se myslím tím modifikátorem "U"