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

Теги [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

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

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

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

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

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

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

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

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

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

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