Перейти к контенту

Теги [q] и [/q]. С той же функцией, что и [quote]


Рекомендуемые сообщения

элементарно, ватсон!

 

файл ./sources/lib/post_parser.php

 

---------------------------------------------------------------------------------------------------

/**************************************************/

// regex_html_tag: HTML syntax highlighting

//

/**************************************************/

 

function regex_html_tag($html="") {

 

if ($html == "") return;

 

// Ensure that spacing is preserved

 

// Too many embedded code/quote/html/sql tags can crash Opera and Moz

 

if (preg_match( "/\[(q|quote|code|html|sql)\].+?\[(q|quote|code|html|sql)\].+?\[(q|quote|code|html|sql)\].+?\[(q|quote|code|html|sql)\].+?\[(q|quote|code|html|sql)\]/i", $html) ) {

return $default;

}

 

.....

 

---------------------------------------------------------------------------------------------------

 

Далее...

 

---------------------------------------------------------------------------------------------------

function regex_parse_quotes($the_txt="") {

 

if ($the_txt == "") return;

 

$txt = $the_txt;

 

 

$this->quote_html = $this->wrap_style( array( 'STYLE' => 'QUOTE' ) );

 

$txt = preg_replace( "#\

#ie" , "\$this->regex_simple_quote_tag()" , $txt );

$txt = preg_replace( "#\

#ie" , "\$this->regex_quote_tag('\\1', '\\2')" , $txt );

$txt = preg_replace( "#\

#ie" ' date=' "\$this->regex_quote_tag('\\1', '')" , $txt );

$txt = preg_replace( "#\[/quote\']#ie" , "\$this->regex_close_quote()" , $txt );

 

$txt = preg_replace( "#\[q\]#ie" , "\$this->regex_simple_quote_tag()" , $txt );

$txt = preg_replace( "#\[q=(.+?),(.+?)\]#ie" , "\$this->regex_quote_tag('\\1', '\\2')" , $txt );

$txt = preg_replace( "#\[q=(.+?)\]#ie" , "\$this->regex_quote_tag('\\1', '')" , $txt );

$txt = preg_replace( "#\[/q\]#ie" , "\$this->regex_close_quote()" , $txt );

 

$txt = preg_replace( "/\n/", "<br>", $txt );

 

if ( ($this->quote_open == $this->quote_closed) and ($this->quote_error == 0) ) {

// Preserve spacing

$txt = preg_replace( "#(<!--QuoteEBegin-->.+?<!--QuoteEnd-->)#es", "\$this->regex_preserve_spacing('\\1')", trim($txt) );

return $txt;

} else {

return $the_txt;

}

 

}

---------------------------------------------------------------------------------------------------

 

И еще...

 

---------------------------------------------------------------------------------------------------

 

/**************************************************/

// regex_build_url: Checks, and builds the a href

// html

/**************************************************/

 

function regex_build_url($url=array()) {

 

$skip_it = 0;

 

// Make sure the last character isn't punctuation.. if it is, remove it and add it to the

// end array

 

if ( preg_match( "/([\.,\?]|!)$/", $url['html'], $match) )

{

$url['end'] .= $match[1];

$url['html'] = preg_replace( "/([\.,\?]|!)$/", "", $url['html'] );

$url['show'] = preg_replace( "/([\.,\?]|!)$/", "", $url['show'] );

}

 

// Make sure it's not being used in a closing code/quote/html or sql block

 

if (preg_match( "/\[\/(html|q|quote|code|sql)/i", $url['html']) )

{

return $url['html'];

}

 

....

---------------------------------------------------------------------------------------------------

 

Но учти!!! Писать можно будет в сообщениях и так и эдак, а вот если их редактировать, то парсер будет автоматом подставлять QUOTE, а не Q.

 

Добавлено:

А вообще - это лень заглянуть в исходники...

 

:D

Ссылка на комментарий
Поделиться на других сайтах

AlexXF

Wow! Пасибки!

Но учти!!! Писать можно будет в сообщениях и так и эдак, а вот если их редактировать, то парсер будет автоматом подставлять QUOTE, а не Q.

Да эт нормально.. да и кстати.. это же можно как-нибудь намутить...

 

+ ещё надо в форме быстрого ответа намутить Q ...

 

А вообще - это лень заглянуть в исходники...

У меня? Ну да.. есть такое.. Хотя я б врядли сам такое сделал :D

 

Ещё раз пасибки!!!

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...

Ну забыл еще про одну функцию... :D

 

 

файл ./sources/lib/post_parser.php

 

 

/**************************************************/

// convert:

// Parses raw text into smilies, HTML and iB CODE

/**************************************************/

 

function convert($in=array( 'TEXT' => "", 'SMILIES' => 0, 'CODE' => 0, 'SIGNATURE' => 0, 'HTML' => 0)) {

...

...

...

$txt = preg_replace( "#(\

.*\[/quote\])#ies" , "\$this->regex_parse_quotes('')" , $txt );

$txt = preg_replace( "#(\[q(.+?)?\].*\[/q\])#ies" , "\$this->regex_parse_quotes('')" , $txt );

 

...

...

...

 

только и всего!

 

Добавлено:

Ну и еще дополнение:

 

Если хочется, чтобы все QUOTE в дальнейшем заменялись на Q, то смени вот здесь:

 

function unconvert($txt="", $code=1, $html=0) {

...

...

 

$txt = preg_replace( "#<!--QuoteBegin--(.+?)\+(.+?)-->(.+?)<!--QuoteEBegin-->#" , "

" , $txt );

$txt = preg_replace( "#<!--QuoteBegin--(.+?)\+-->(.+?)<!--QuoteEBegin-->#" , "

" ' date=' $txt );

$txt = preg_replace( "#<!--QuoteBegin-->(.+?)<!--QuoteEBegin-->#" , '

' , $txt );

$txt = preg_replace( "#<!--QuoteEnd-->(.+?)<!--QuoteEEnd-->#" , '

' , $txt );

 

меняем на:

$txt = preg_replace( "#<!--QuoteBegin--(.+?)\+(.+?)-->(.+?)<!--QuoteEBegin-->#" , "[Q=\1,\2]" , $txt );

$txt = preg_replace( "#<!--QuoteBegin--(.+?)\+-->(.+?)<!--QuoteEBegin-->#" , "[Q=\1]" , $txt );

$txt = preg_replace( "#<!--QuoteBegin-->(.+?)<!--QuoteEBegin-->#" , '[Q]' , $txt );

$txt = preg_replace( "#<!--QuoteEnd-->(.+?)<!--QuoteEEnd-->#" , '[/Q]' , $txt );

 

Что у нас в итоге получится?

При редактировании сообщения, независимо от того какой тег использовал изначально пользователь QUOTE или Q всегда будет отображаться [Q]цитата[/Q]

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...

Так-с......

Ну я всё это проделал.

В итоге, когда я использую тег Q, у меня всё, что огорожено этим тегом, пропадает.

Где я что-то не так сделал? :D

Ссылка на комментарий
Поделиться на других сайтах

  • 4 года спустя...
Открываем файл в Word, нажимием CTR+H (замена) и меняем quote на q, а QUOTE на Q. Не забудь поставить "Учитывать регистр" и жмем кнопку "Replace All" :D
Ссылка на комментарий
Поделиться на других сайтах

Открываем файл в Word, нажимием CTR+H (замена) и меняем quote на q, а QUOTE на Q. Не забудь поставить "Учитывать регистр" и жмем кнопку "Replace All" ;)

Ворд, ага, жжёте. Раз уж начали, расскажите нубам как потом сохратить php файл там, а то они не смогут, в отличии от вас.

 

ахтунг, апнута тема 2003 года :D

Ага :)

Ссылка на комментарий
Поделиться на других сайтах

  • 3 недели спустя...
Открываем файл в Word, нажимием CTR+H (замена) и меняем quote на q, а QUOTE на Q. Не забудь поставить "Учитывать регистр" и жмем кнопку "Replace All"

уха-ха-ха :D

просим просим

сделайте так обязательно

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

Вы можете ответить сейчас, а зарегистрироваться позже. Если у вас уже есть аккаунт, войдите, чтобы ответить от своего имени.

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.