Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> HTML тэги 
:(
    Опции темы
Dexter
Дата 18.1.2004, 18:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



из <textarea> по нажатию кнопки текст сохраняется в БД, если в тексте есть "тэги" {tag} и {/tag} то между ними надо < и > заменить на &lt; и &gt;. Как это сделать?

Это сообщение отредактировал(а) Dexter - 18.1.2004, 18:10


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Dr.Death
Дата 18.1.2004, 18:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник Клуба
Сообщений: 950
Регистрация: 15.7.2003
Где: Волгоград

Репутация: нет
Всего: 1



regular expressions


--------------------
Жизнь коротка, чтобы быть в ней слабым.© Арнольд Шварцнеггер
PM MAIL WWW ICQ   Вверх
MuToGeN
Дата 19.1.2004, 10:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



htmlspecialchars()

Dr.Death, если уж не htmlspecialchars(), то хватит и str_replace() с параметрами-массивами. Зачем пользовать regexpы, когда можно спокойно обойтись без них?


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Vaulter
Дата 19.1.2004, 11:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Dexter
дополню MuToGeNа
$smstring=htmlspecialchars($smstring,ENT_QUOTES);
преобразует и кавычки в спецсимволы.


--------------------
PM MAIL WWW ICQ   Вверх
Zipo
Дата 19.1.2004, 18:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 4.11.2003

Репутация: нет
Всего: 0



Неа, Dr.Death прав!
Прочитайте еще раз вопрос.
htmlspecialchars заменит везде.
PM MAIL   Вверх
Dexter
Дата 19.1.2004, 20:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Цитата
Неа, Dr.Death прав!
Прочитайте еще раз вопрос.
htmlspecialchars заменит везде.


Да, мне нужно чтобы они заменились между {tag} и {/tag}, а как это сделатьс regexp'ами я не представляю.


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Dimetrius
Дата 19.1.2004, 20:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 28
Регистрация: 12.1.2004

Репутация: 1
Всего: 1



попробуй по-точнее сформулировать задачу, желательно с примерами.
Если честно - ничего не понятно, что на что и где менять?
Я вообще-то думал, что MuToGeN и Vaulter тебе правильно посоветовали...
PM MAIL WWW   Вверх
Zipo
Дата 19.1.2004, 20:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 4.11.2003

Репутация: нет
Всего: 0



Код

<?php
$str = "aslkj aslkj asd <b>asdasd</b> {tag}! rtsdad asdasd <b>asd</b>!{/tag} asdasd asd asd <b>asdasd</b>";
echo $str = preg_replace("/{tag}(.+){\/tag}/es", "htmlspecialchars('\\1')", $str);
?>

PM MAIL   Вверх
Zipo
Дата 19.1.2004, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 4.11.2003

Репутация: нет
Всего: 0



Цитата
попробуй по-точнее сформулировать задачу, желательно с примерами.
Если честно - ничего не понятно, что на что и где менять?
Я вообще-то думал, что MuToGeN и Vaulter тебе правильно посоветовали...


имхо человек выразился коротко и ясно
PM MAIL   Вверх
MuToGeN
Дата 20.1.2004, 11:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: 7
Всего: 32



Да, согласен. Не совсем правильно понял вопрос.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
Vaulter
Дата 20.1.2004, 13:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1724
Регистрация: 30.12.2002
Где: бункер

Репутация: 6
Всего: 22



Zipo
Код
cho $str = preg_replace("/{tag}(.+){\/tag}/es", "htmlspecialchars('\\1')", $str);

вкурил регу...

НО! она будет менять между ПЕРВОЙ {tag} и ПОСЛЕДНЕЙ {/tag}
так как {tag} тоже попадает в (.+)

то есть из строки "aslkj aslkj asd <b>asdasd</b> {tag}! rtsdad asdasd <b>asd</b>!{/tag} asdasd {tag}asd asd{/tag} <b>asdasd</b>"

он выдеерет: {tag}! rtsdad asdasd <b>asd</b>!{/tag} asdasd {tag}asd asd{/tag}


--------------------
PM MAIL WWW ICQ   Вверх
Dexter
Дата 20.1.2004, 17:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Экс. модератор
Сообщений: 1562
Регистрация: 2.7.2002
Где: Москва, Бирюлево

Репутация: нет
Всего: 4



Цитата
НО! она будет менять между ПЕРВОЙ {tag} и ПОСЛЕДНЕЙ {/tag}
так как {tag} тоже попадает в (.+)


А что же делать, ведь тэги не один раз могут встречаться.


--------------------
The only thing you really know about me is...
...that's all you'll ever know
PM MAIL ICQ   Вверх
Zipo
Дата 20.1.2004, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 4.11.2003

Репутация: нет
Всего: 0



Цитата
НО! она будет менять между ПЕРВОЙ {tag} и ПОСЛЕДНЕЙ {/tag}
так как {tag} тоже попадает в (.+)


согласен, немного провтыкал, но все решается с помощь модификатора "жадности"

Код
$str = "aslkj aslkj asd <b>asdasd</b> {tag}notags!! rtsdad asdasd <b>asd</b>!!notags{/tag} asda  <b> sd</b> {tag}asd asd{/tag} <b>asdasd</b>";
echo $str = preg_replace("/{tag}(.+){\/tag}/esiU", "htmlspecialchars('\\1')", $str);

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0820 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.