А где дэвочка? Уже удалили? Йа так посмотреть хотел... Гг
ValekS, +1 Захожу а уже ее нет, а потом по комментам видно что чувак который запостил это просто хотел привлечь внимание
ValekS, в i2p иди там такого навалом.
Все ровно не понял смысла этой тематики)
djakon, какой тематики? Аналогично форуму, только здесь можно постить анонимно, вместо подфорумов доски, вместо тем треды.
djakon, Чувак это же тот же форум токо для анонимусов
Написал парсер размертки, кто может протестируйте.
Я уже много комбинаций перепробовал и вроде пока нигде синтаксической ошибки не вылезает.
Вобщем задача добиться того, чтобы не возникало никаких синтаксических ошибок при разных комбинациях управляющих символов.
Сам код здесь:
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>';
Писал прямо в форме постинга, на работоспособность не проверял.
Screamer, парсер тегов? имхо фильтр зря сразу применяешь, его надо в выводе применять, сначало подготовить а потом уже готовое фильтровать
echo "<?xml version=\"1.0\" encoding=\"utf-8\"?>\n\n"
echo '<?xml version="1.0" encoding="utf-8"?>' . PHP_EOL;
экранировать как то не по мне
по поводу пробелов и табов, trim()
'<sub>$1</sub>', // Sub
'<sup>$1</sup>', // Sub
Koenig,
имхо фильтр зря сразу применяешь, его надо в выводе применять, сначало подготовить а потом уже готовое фильтровать
Не понял. В том виде в котором движок сейчас, там да, обработанный текст пишется в базу, а то что я сейчас делаю, там только при выводе обрабатывается.
по поводу пробелов и табов, trim()
Достаточно в начале перед htmlspecialchars с помощью trim обработать, я забыл добавить просто.
А вот это как раз таки нужно:
$string = preg_replace("~[\s]{4}|\t~", "\n" . str_repeat(' ', 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 выражений.