Go Back   vb.org Archive > vBulletin Modifications > Archive > vB.org Archives > vBulletin 3.6 > vBulletin 3.6 Add-ons
Replace threadpost characters Details »»
Replace threadpost characters
Version: 1.00, by kenfuzed kenfuzed is offline
Developer Last Online: Mar 2013 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.6.5 Rating:
Released: 04-10-2007 Last Update: Never Installs: 10
 
No support by the author.

Recently I was in search of a way to replace or restrict the use of non-alpha characters used in thread titles. This is useful when adding your thread titles to a welcome header or other area where these characters would look out of place (i.e. '!' or '?' placed mid sentence).

The following is a manual addition of code which will replace specified characters with whatever you want.

Start by finding /includes/class_dm_threadpost.php
You may want to make a backup copy of this file in case you blow things up

Open class_dm_threadpost.php in an editor and find the following code:

Code:
// replace html-encoded spaces with actual spaces
$title = preg_replace('/&#(0*32|x0*20);/', ' ', $title);
If you only want to replace the characters '?' and '!' with a space, then below the above code you would add:
Code:
$title = preg_replace('/[\?\!]/', ' ', $title);
NOTE: DO NOT delete or change the first piece of code. It is there to prevent html from being added to thread titles. Add all additional code under it.

Between the [brackets] only add the characters you wish to have replaced when a user types it into their thread title. Separate each character with a backslash.

I personally didn't want to see anything except alpha-numeric titles so I included just about every character. The first part replaces the specified character with a space. The next part I added replaces each specific character with a corresponding word (i.e. '&' is replaced by the word 'and').
Below:
Code:
// replace html-encoded spaces with actual spaces
$title = preg_replace('/&#(0*32|x0*20);/', ' ', $title);
I added:
Code:
// replace special characters with actual spaces
$title = preg_replace('/[\?\!\#\$\%\^\*\~\|\:\;\...]/', ' ', $title);
// replace special characters with...
$title = preg_replace('/[\@]/', ' at ', $title);
$title = preg_replace('/[\+]/', ' plus ', $title);
$title = preg_replace('/[\=]/', ' equals ', $title);
$title = preg_replace('/[\&]/', ' and ', $title);
Special thanks to Oleg for helping me locate where to find this file/code.

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.

Comments
  #2  
Old 04-12-2007, 12:58 AM
Hornstar Hornstar is offline
 
Join Date: Jun 2005
Location: Australia
Posts: 2,469
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Nice work, i think i may leave this for now tho. dont feel like editing any core files currently lol
Reply With Quote
  #3  
Old 08-01-2007, 11:55 AM
gforce75 gforce75 is offline
 
Join Date: Sep 2003
Posts: 192
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Good Concept. Thanks.
Reply With Quote
  #4  
Old 07-10-2008, 02:07 PM
caggla's Avatar
caggla caggla is offline
 
Join Date: Jul 2007
Posts: 12
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

works on 3.7.
thanks
Reply With Quote
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT. The time now is 07:03 PM.


Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2024, vBulletin Solutions Inc.
X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.06173 seconds
  • Memory Usage 2,220KB
  • Queries Executed 17 (?)
More Information
Template Usage:
  • (1)SHOWTHREAD
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)ad_showthread_beforeqr
  • (4)bbcode_code
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (6)navbar_link
  • (120)option
  • (4)post_thanks_box
  • (4)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (4)post_thanks_postbit_info
  • (3)postbit
  • (4)postbit_onlinestatus
  • (4)postbit_wrapper
  • (1)spacer_close
  • (1)spacer_open
  • (1)tagbit_wrapper 

Phrase Groups Available:
  • global
  • inlinemod
  • postbit
  • posting
  • reputationlevel
  • showthread
Included Files:
  • ./showthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/functions_bigthree.php
  • ./includes/class_postbit.php
  • ./includes/class_bbcode.php
  • ./includes/functions_reputation.php
  • ./includes/functions_post_thanks.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • showthread_start
  • showthread_getinfo
  • forumjump
  • showthread_post_start
  • showthread_query_postids
  • showthread_query
  • bbcode_fetch_tags
  • bbcode_create
  • showthread_postbit_create
  • postbit_factory
  • postbit_display_start
  • post_thanks_function_post_thanks_off_start
  • post_thanks_function_post_thanks_off_end
  • post_thanks_function_fetch_thanks_start
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • fetch_musername
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete