strip_tags("<br/>", "<br>")

alexblade

Новичок
Почему strip_tags("<br/>", "<br>") вернет пустую строку?

он должен обрезать все кроме br тэгов так ведь ?
 

С.

Продвинутый новичок
Потому что тэг "br/" не соответствует тэгу "br". Более того в HTML вообще не существует тэга "br/".
 

alexblade

Новичок
хм.... а почему тогда - у меня в коде есть <img/> и псоле strip_tags($html, "<img>") <img/> остается ?
 

El Diablo

Доброе зло
Доброго времени суток! Под шумок, что бы не создавать схожей темы, подскажите пожалуйста, вот моя форма для редактирования:

PHP:
<?php 
$result = mysql_query("SELECT * from mainmenu WHERE id=2");
$myrow = mysql_fetch_array($result);		
print <<<HERE

<form name="form1" method="post" action="update_index.php">
  <p>
	<br>
  <label>Введите краткое описание статьи (для SEO) - 250 символов<br>
<textarea name="meta_d" cols="50" rows="5" id="meta_d">$myrow[meta_d]</textarea>
  </label>
	<br>
	<br>
  <label>Введите ключевые слова для статьи (для SEO) - 250 символов<br>
<textarea name="meta_k" cols="50" rows="5" id="meta_k">$myrow[meta_k]</textarea>
  </label>
	<br>
	<br>
  <label>Текс верхнего блока<br>
<textarea name="dopinfo" cols="100" rows="7" id="dopinfo">$myrow[dopinfo]</textarea>
  </label>
	<br>
	<br>
  <label>Текст нижнего блока<br>
<textarea name="text" cols="100" rows="7" id="text">$myrow[text]</textarea>
  </label>
	<br>


  <br>
  <input name="id" type="hidden" value="$myrow[id]">
  <br>
  <label>
    <input type="submit" name="submit" id="submit" value="Сохранить изменения">
  </label>
  <br>
  
  </p>
</form>
HERE;

?>
в базе запись по переменным $meta_d, $meta_k пустые их не трогаю, а вот $dopinfo и $text имеют запись:

к примеру $dopinfo имеет содержание:
PHP:
1. Ремонт,.... мебели; <br><br>
2. Реставра....мебели;<br><br>
3. Изгото....каз;<br><br>
Также в ...............ли.
(текст повырезал но суть не поменялась)

Поставил задачу, что бы из базы вытягивался чистый текст без кода, а когда текст отредактировался, уходил в базу с кодом, что бы на сайте нормально отображался, подскажите как это лучше реализовать, я нарыл модификатор переменной strip_tags, и даже кучу примеров нашел:

Пример 1. Пример использования strip_tags()
PHP:
<?php
$text = '
<p>Параграф.</p>
<!-- Comment -->
Еще немного текста';

echo strip_tags($text);

echo "\n\n-------\n";

// не удалять <p>
echo strip_tags($text, '<p>');
?>
Этот пример выведет:

Параграф.



Еще немного текста



-------



<p>Параграф.</p>



Еще немного текста
но нигде не нашел как этот модификатор работает в функции printf, тобиш когда переменная выводится через echo я понял куда его вставлять, а когда через printf не совсем понимаю. И еще если эта функция срежет переносы строк, после сохранения они улетят с кодом? или без?
 

WMix

герр M:)ller
Партнер клуба
Поставил задачу, что бы из базы вытягивался чистый текст без кода, а когда текст отредактировался, уходил в базу с кодом, что бы на сайте нормально отображался
трудно придется будущим редакторам, обьяснить твоему скрипту, что они хотят!
 

El Diablo

Доброе зло
WMix
по идеи ведь это идет обычное "блоговское"\"форумское" окно? ведь я не думаю, что на форумах особенно когда большой объем данных это окно беда? Я думал мб просто есть уже готовое решение? На данный момент рою уроки с блогами, ищу правду в них, но покачто толку нет =\
 

WMix

герр M:)ller
Партнер клуба
я о том, что если
PHP:
<b>bbbb</b> <i>iiii</i>
превратить в техт bbbb iiii а после исправить на bbbb ddd iiii то уже не понятно как должны тэги расставляться так
PHP:
<b>bbbb ddd</b> <i>iiii</i>
или
PHP:
<b>bbbb</b> <i>ddd iiii</i>
я посоветывал бы либо BB коды либо wysiwyg редактор
 

El Diablo

Доброе зло
WMix благодарю за wysiwyg! однако столкнулся с проблемой, у меня есть админка, и есть страница сайта, в админке я установил окно для BB кодов, а вот на странице куда я выгружаю ВВ код выводится как код. Я так понял я не объяснил странице сайта, что означает BB код? На сайте есть мануалка как сделать окно для редактирования, а вот для его вывода не написано, вернее думаю написано, но я не нашел.

1.jpg
 

WMix

герр M:)ller
Партнер клуба
видать старые html тэги остались и они мешают жить, те < переводятся функцией типа htmlspecialchars в сущьности &lt; отсюда и проблемы, читай сорцы

ерунду написал, да конечно же браузер не понимает что такое BB ему нужно это обьяснять, вернее заменять на обычный html
 

El Diablo

Доброе зло
WMix да вроде подтер все такого рода, и в базе не осталось кодов (там их не было, но я проверил, что бы наверняка). Вот к примеру сам код вытащенный из базы из вышеуказанной ячейки:

PHP:
[b]1. Ремонт, обивка и перетяжка мебели;[/b]
2. Реставрация кожаной и антикварной 
мебели;<br><br>
3. Изготовление мягкой мебели на заказ;<br><br>
Также в продаже большой выбор тканей, искуственной и натуральной кожи, поролона, латекса, механизмов и запчастей к мягкой мебели.
Остался только код <br>, но когда стираю все сообщения на странице сайта слипшиеся, а вот если захожу в админку в редактирование, там они красиво пасочками разложены по строкам =)
 

WMix

герр M:)ller
Партнер клуба
можешь обернуть весь вывод в nl2br на страничке сайта
 

El Diablo

Доброе зло
WMix nl2br все решил! Выражаю огромную благодарность!

Я когда искал инфу, находил nl2br, но тогда решил его не пробовать, как оказалось зря! Все решилось и кстате я попутно разобрался как раз и с wysibb. Интересный мод, однако для того функционала который я закладываю в сайт это будет лишнее =) За оба совета благодарю! wysibb в дальнейшем пригодится! =)
 
Сверху