WBoard - No Restrictions

Тема закрыта
3.33K
.
Ей 25
А где дэвочка? Уже удалили? Йа так посмотреть хотел... Гг
.
ValekS, +1 Захожу а уже ее нет, а потом по комментам видно что чувак который запостил это просто хотел привлечь внимание
.
ValekS, в i2p иди там такого навалом.
.
Все ровно не понял смысла этой тематики)
.
djakon, какой тематики? Аналогично форуму, только здесь можно постить анонимно, вместо подфорумов доски, вместо тем треды.
.
djakon, Чувак это же тот же форум токо для анонимусов
.
Screamer
Написал парсер размертки, кто может протестируйте.
Я уже много комбинаций перепробовал и вроде пока нигде синтаксической ошибки не вылезает.
Вобщем задача добиться того, чтобы не возникало никаких синтаксических ошибок при разных комбинациях управляющих символов.
Сам код здесь:
http://pastebin.com/cdgCR7H2
Здесь текст, который после обработки парсером, показывает что получается.
http://pastebin.com/cTA57gQW Вобщем, своего рода описание функционала.

Для тех, кто не понял как тестировать, поясню:
Создаем php файл копипастим код парсера
и пишем следующее:
header('Content-type: application/xhtml+xml; charset=UTF-8');
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n"
. '<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">'
. '<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru"><head><title>markup</title></head><body>';
if (isset($_POST['text'])) {
    $markup = new Markup();
    echo '<div>' . $markup->execute($_POST['text']) . '</div>';
}
echo '<form method="post"><textarea name="text"></textarea><br /><input type="submit" value="send" /></form></body></html>';

Писал прямо в форме постинга, на работоспособность не проверял.
.
(\/)____o_O____(\/)
Screamer, парсер тегов? имхо фильтр зря сразу применяешь, его надо в выводе применять, сначало подготовить а потом уже готовое фильтровать
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n"
echo '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
экранировать как то не по мне
по поводу пробелов и табов, trim()
.
(\/)____o_O____(\/)
'<sub>$1</sub>', // Sub
'<sup>$1</sup>', // Sub
.
Koenig,
имхо фильтр зря сразу применяешь, его надо в выводе применять, сначало подготовить а потом уже готовое фильтровать

Не понял. В том виде в котором движок сейчас, там да, обработанный текст пишется в базу, а то что я сейчас делаю, там только при выводе обрабатывается.
по поводу пробелов и табов, trim()

Достаточно в начале перед htmlspecialchars с помощью trim обработать, я забыл добавить просто.
А вот это как раз таки нужно:
$string = preg_replace("~[\s]{4}|\t~", "\n" . str_repeat('&#160;', 4), $string); // Detab

Ибо иногда надо 4 пробела подряд поставить, а они должным образом не выводятся, да и tab в textarea введешь, только из буфера вставить, и то он помоему тоже должным образом не выводится.

echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n"
echo '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
экранировать как то не по мне

Это я на скорую руку написал, так то я тоже одинарные всегда использую, за исключением sql выражений.
Всего: 137