Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.08.2015, 12:11   #1
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию функция str_replace

Доброго времени суток !

У меня появился вопрос вот какой :
Поставил себе в админку текстовое поле на подобии как на этом форуме то есть кнопку нажал на B в поле появилось ]B[ Тут какой то текст ]/B[ ( скобки развернуты специально ) ... так вот по такому же принципу сделал построение таблицы ... все работает нормально вот только есть одна проблема ... так как стоить защита на использование тегов я добавил перенос строки

PHP код:
$Text['message'] = str_replace("\n"'<br />'$Text['message']); 
так вот если добавить таблицу так

]table[
]tr[
]td[ содержимое ]/td[]td[ содержимое ]/td[]td[ содержимое ]/td[
]/tr[
]tr[
]td[ содержимое ]/td[]td[ содержимое ]/td[]td[ содержимое ]/td[
]/tr[
]tr[
]td[ содержимое ]/td[]td[ содержимое ]/td[]td[ содержимое ]/td[
]/tr[
]/table[

то при выводе с заменой всех знаков получается следующее

Код HTML:
<table>
<br /><tr>
<br /><td> содержимое </td><td> содержимое </td><td> содержимое </td>
<br /></tr>
<br /><tr>
<br /><td> содержимое </td><td> содержимое </td><td> содержимое </td>
<br /></tr>
<br /><tr>
<br /><td> содержимое </td><td> содержимое </td><td> содержимое </td>
<br /></tr>
<br /></table>
Вопрос как убрать перенос строки из таблицы ?
"Я не волшебник, я только учусь"

Последний раз редактировалось s88s; 17.08.2015 в 16:02. Причина: замена " пробелы " на " перенос строки "
s88s вне форума Ответить с цитированием
Старый 17.08.2015, 12:16   #2
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

Самое простое, еще раз запустить:

Код:
$Text['message'] = str_replace(" ", '', $Text['message']);
L6go1as вне форума Ответить с цитированием
Старый 17.08.2015, 13:01   #3
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от L6go1as Посмотреть сообщение
Самое простое, еще раз запустить:

Код:
$Text['message'] = str_replace(" ", '', $Text['message']);
Я прошу прощение возможно за глупый вопрос ... а что такая замена дает ?
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 17.08.2015, 13:07   #4
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

s88s, удалит все пробелы из переменной $Text['message'].
L6go1as вне форума Ответить с цитированием
Старый 17.08.2015, 13:11   #5
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

Цитата:
]td[ содержимое ]/td[
Здесь же и есть пробелы. Они и остаются.
Что за защита? И зачем менять \n на <br> в таблице? Оно там ни к селу ни к городу.
ResourceSpace вне форума Ответить с цитированием
Старый 17.08.2015, 16:00   #6
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от L6go1as Посмотреть сообщение
s88s, удалит все пробелы из переменной $Text['message'].
Блин мой косяк ... вот что творит недосып и работа ... не пробелы а перенос строки

Цитата:
Сообщение от ResourceSpace Посмотреть сообщение
Здесь же и есть пробелы. Они и остаются.
Что за защита? И зачем менять \n на <br> в таблице? Оно там ни к селу ни к городу.
в админке есть текстовое поле с помощью которого я добавляю разные статьи таблицы и тд .... при отправке в базу данных сообщения вырезаются все теги

PHP код:
$message2 strip_tags($_POST['message2']); 
по этому я и сделал замену /n на <br />
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 17.08.2015, 16:32   #7
L6go1as
Форумчанин
 
Регистрация: 20.10.2011
Сообщений: 433
По умолчанию

Чет может сам после отпуска туплю, но есть код:
Код:
$Text['message'] = str_replace("\n", '<br />', $Text['message']);
Который заменяет все "\n" на <br />
Так не проще тогда так сделать ?
Код:
$Text['message'] = str_replace("\n", '', $Text['message']);
Т.е. все найденные "\n" будет удалять.
Код:
$Text['message'] = str_replace("<br />", '', $Text['message']);
Все найденные "<br />" будет удалять.
L6go1as вне форума Ответить с цитированием
Старый 17.08.2015, 16:40   #8
s88s
Форумчанин
 
Регистрация: 02.01.2014
Сообщений: 369
По умолчанию

Цитата:
Сообщение от L6go1as Посмотреть сообщение
Чет может сам после отпуска туплю, но есть код:
Код:
$Text['message'] = str_replace("\n", '<br />', $Text['message']);
Который заменяет все "\n" на <br />
Так не проще тогда так сделать ?
Код:
$Text['message'] = str_replace("\n", '', $Text['message']);
Т.е. все найденные "\n" будет удалять.
Код:
$Text['message'] = str_replace("<br />", '', $Text['message']);
Все найденные "<br />" будет удалять.
Дело все в том что я допустим пишу какой то текст

Цитата:
написано что то тут.
еще и тут что то написано с новой строки.
и тд
и при удалении всех <br /> и \n с новой строки не чего не будет писаться (
"Я не волшебник, я только учусь"
s88s вне форума Ответить с цитированием
Старый 17.08.2015, 16:51   #9
ADSoft
Старожил
 
Регистрация: 25.02.2007
Сообщений: 4,160
По умолчанию

костыль конечно.. но типа заменять "<table><br /><tr>" на "<table><tr>" жестко
и другие комбинации, где <br/ > в таблицу лезет......
наверняка можно регуляркой... но не силен в них
ADSoft вне форума Ответить с цитированием
Старый 17.08.2015, 17:02   #10
ResourceSpace
Форумчанин
 
Аватар для ResourceSpace
 
Регистрация: 30.06.2015
Сообщений: 353
По умолчанию

PHP код:
$Text['message'] = str_replace("\n"'<br />'$Text['message']); 
Зачем вы так делаете? Что вас не устраивает при отсутствии данной строки?
ResourceSpace вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
preg_replace и str_replace Andrej24 PHP 1 30.01.2015 12:22
Непонятка с str_replace KoBaL PHP 6 20.07.2014 22:36
заставить работать str_replace Тандер PHP 1 04.04.2014 18:55
utf8(кирилица) и функция str_replace Небесный PHP 4 14.07.2013 13:58
str_replace и substr_replace kilogram PHP 8 11.04.2012 10:35