Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Функция, записывающая кол-во найденных символов в строке

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Staind
Отправлено: 10 Декабря, 2007 - 14:15:11
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Нояб. 2007  
Откуда: Планета сокровищ


Помог: 0 раз(а)

[+]


Сделал через js простейшие bbcode. Все вроде нормально. Однако, через php хочу ввести дополнительную проверку открытых\закрытых bbcode. Т.е. если пользователь ввел некорректно так:

, то уже php удаляет не нужный открывающий


Вот здесь я застропорился. Рыскаю в поисках функции на php.net, которая подсчитывает сколько в строке найденных определенных символов. Т.е. строка "qaqa", ищем "q" и она возвращает число 2. Не знаете такую? Улыбка\n\n(Добавление)
По поводу js, то смотрел я как сделано на phpBB2. Сейчас попробовал там написать так:

И лишний "тэг" у них там не затирается, добавляешь сообщение и как было

, так и осталось :\ Но мне все равно охота эту проверку сделать.
 
 Top
evgenijj
Отправлено: 10 Декабря, 2007 - 15:59:52
Post Id



Участник


Покинул форум
Сообщений всего: 1212
Дата рег-ции: Авг. 2006  
Откуда: Москва


Помог: 10 раз(а)




http://php.su/functions/?substr-count
Количество вхождений подстроки
PHP:
скопировать код в буфер обмена
  1.  
  2. if ( substr_count( $message, '[b]' ) != substr_count( $message, '[/b]' ) )
  3. {
  4. .........................
  5. }
  6.  

Одно НО -- поиск ведется с учетом регистра символов. Так что, скорее всего придется использовать регулярные выражения.

Кстати, в phpBB есть проверка на парность. И перед отправкой сообщения все непарные теги дополняются.
PHP:
скопировать код в буфер обмена
  1.  
  2. function bbstyle(bbnumber) {
  3.   var txtarea = document.getElementById("sendMessageForm").message;
  4.  
  5.   txtarea.focus();
  6.   donotinsert = false;
  7.   theSelection = false;
  8.   bblast = 0;
  9.  
  10.   if (bbnumber == -1) { // Close all open tags
  11. ....................................................................
  12.  
 
 Top
Staind
Отправлено: 10 Декабря, 2007 - 17:17:25
Post Id



Гость


Покинул форум
Сообщений всего: 116
Дата рег-ции: Нояб. 2007  
Откуда: Планета сокровищ


Помог: 0 раз(а)

[+]


2evgenijj, ОГРОМНОЕ ТЕБЕ СПАСИБО. (Крутая) функция, незнаю как упустил, но, видимо, я невнимательный просто.
А с регистром не проблема, добавил strtolower и написал так:


По поводу js функции, которая закрывает тэги, да, я ее видел, но там немного другая схема. Мне так удобнее. Спасибо еще раз. Вопрос снят.
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Программирование на PHP »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB