[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: BBCode. Экстралинии?
Stasonix
Есть текстареа, в который вводится bbcode, напр. такой:

[php]


code 1
code 2


[/php]


В общем-то все это должно превратиться в тег `pre`. В котором будет сам код php.

Но как убрать экстралинии сверху и снизу? чтобы получилось так:

<pre>code 1
code 2</pre>


Пример html формы с текстареа:

<!DOCTYPE html>
<html lang="en">
<head>
<meta
charset="UTF-8" />
<style>

.code {
border: 1px solid #c2c2c2;
padding: 4px;
border-radius: 4px;
}
</style>
</head>
<body>
<?php

$str = $_POST['textarea'];
$content = preg_replace("/\[php\]\s*(.*)\s*\[\/php\]/si","<pre class='code'>\\1</pre>",$str); // try to use U modificator
echo $content;
?>
<form
method="post" action="" class="contactform">
<textarea
name="textarea"></textarea>
<input
type="submit" class="met_button pull-right" name="submit" value="Send">
</form>
</body>
</html>
HErATuB
Хмм должно работать, попробуй добавить \r.

preg_replace("/\[php\][\s\r]*(.*)[\s\r]*\[\/php\]/si","<pre class='code'>$1</pre>",$str)
Stasonix
Цитата (HErATuB @ 26.09.2013 - 11:38)
Хмм должно работать, попробуй добавить \r.

preg_replace("/\[php\][\s\r]*(.*)[\s\r]*\[\/php\]/si","<pre class='code'></pre>",$str)

неа, все равно внизу линия остается.
HErATuB
Цитата (Stasonix @ 26.09.2013 - 12:36)
неа, все равно внизу линия остается.

ну тогда из сюда
Цитата (HErATuB @ 26.09.2013 - 11:38)
(.*)

нужно исключить энторы.
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.