Помогите,Как сделать так чтобы не ставить тег <br> в описании товара?

12
M
На сайте с 10.05.2011
Offline
41
1239

Вообщем есть инет-магазин на движке OScommerce , при добавлении каждого товара(а их добаляется дофигище) уже запарился везде после каждого переноса ставить тег <br>. Как сделать так чтобы тэг сам прописывался вместо переносов строки обычных при добавлении товара? Нашол такую фишку, функция nl2br, которая вроде бы как должна мне помочь, но куда мне в моём движке её вставлять, помогите кто знает.

nezabor
На сайте с 19.07.2010
Offline
152
#1

по идее она вам понадобиться при выводе

echo nl2br($data);

Чудес не бывает...
M
На сайте с 10.05.2011
Offline
41
#2

Нашол, огромное спасибо за помощь!

теперь из всего из этого выливается проблема, как убрать теги BR которые я уже наставил до этого, а их больше 3000 товаров и в каждом немалое количество этих тегов. Убирать вручную займёт неделю.... ПОдскажите есть ли такая команда к базе данных которая бы убрала из описания товаров все теги <br> , но кроме этого чтобы все описания остались неизменными. Это бы окончательно разрешило бы мою проблему, заранее благодарен.

nezabor
На сайте с 19.07.2010
Offline
152
#3

вам надо либо вот это поставить при выводе

$data = preg_replace("<br>", "\n", $string);

echo nl2br($data);

либо такойже ф-цией пробежаться по записям в вашей таблице через select и update хотя можно поизвращаться и попробовать сделать данную ф-цию в update

что-то типа (обязательно под php в sql я не помню как)

mysql_query("UPDATE my_table SET myfield ='". preg_replace("<br>", "\n", my_table.myfield) . '");

но не факт что сработает)))

M
На сайте с 10.05.2011
Offline
41
#4

Я в этих делах новичёк, мало что понял из того что вы написали, не могли бы разжевать чайнику?

SS
На сайте с 04.04.2009
Offline
43
s_s
#5


UPDATE `test` SET `text` = REPLACE(`text`, '<br>', '\n')

вот такой запрос отработает, просто в phpmyadmin запустите. инфа 100%, потестил. но не забудьте забэкапиться))

для новичков: UP.

test - тут должно быть имя таблицы, где храниться описание товара.

text - имя столбца, в котором надо заменить переносы строк.

M
На сайте с 10.05.2011
Offline
41
#6
s_s:

UPDATE `test` SET `text` = REPLACE(`text`, '<br>', '\n')

вот такой запрос отработает. инфа 100%, потестил. но не забудьте забэкапиться))

Большое спасибо, но не могли вы мне недалёкому пока ещё уточнить, я так понял этот запрос можно через phpmyadmin сделать к необходимой базе данных, так?

И что в этом запросе есть что? ну `test`я так понял это название столбца, верно? Что ещё мне надо заменить в нём на свои параметры?

nezabor
На сайте с 19.07.2010
Offline
152
#7

UPDATE `ваша таблица` SET `столбец_с_исходным_описанием` = REPLACE(`столбец_с_исходным_описанием)`, '<br>', '\n')

M
На сайте с 10.05.2011
Offline
41
#8

ПОка писал вопрос вы уже ответили, спасибо большое сейчас попробую. И ещё последний вопрос , не могли бы вы расшифровать что делает та часть запроса REPLACE(`text`, '<br>', '\n') ? ПОчему там стоит '\n' и `text`, ведь мне нужно удалить только <br>, обычные переносы у меня уже в каждом описании стоят.

SS
На сайте с 04.04.2009
Offline
43
s_s
#9
MCuk:
ПОка писал вопрос вы уже ответили, спасибо большое сейчас попробую. И ещё последний вопрос , не могли бы вы расшифровать что делает та часть запроса REPLACE(`text`, '<br>', '\n') ? ПОчему там стоит '\n' и `text`, ведь мне нужно удалить только <br>, обычные переносы у меня уже в каждом описании стоят.

если перевод строки не надо добавлять, то

REPLACE(`text`, '<br>', '')

просто уберёт из столбца бр-ки. text первым аргументом -- откуда брать текст для замены. второй аргумент (<br>) - что заменять. третий -- на что меняем.

M
На сайте с 10.05.2011
Offline
41
#10

Вродебы всё догнал! ЗАшол в пшпмайадмин. Сделал такой запрос

UPDATE products_description SET products_description = REPLACE(products_description, ‘<br>’, ‘ ’)

Мне выдаёт ошибку

#1064 - You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '’)' at line 1

В чём прикол?

---------- Добавлено в 23:16 ---------- Предыдущее сообщение было в 23:13 ----------

Либо если убираю пробел в поле "На что меняем" , вот так выглядит

UPDATE products_description SET products_description = REPLACE(products_description, ‘<br>’, ‘’)

то выдаёт

#1054 - Unknown column '‘' in 'field list'

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий