Go Back   vb.org Archive > vBulletin Modifications > vBulletin 3.8 Modifications > vBulletin 3.8 Add-ons
FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools
Word Links (Turn words into links) by BOP5 Details »»
Word Links (Turn words into links) by BOP5
Version: 2.0, by BirdOPrey5 (Senior Member) BirdOPrey5 is offline
Developer Last Online: Aug 2023 Show Printable Version Email this Page

Category: Miscellaneous Hacks - Version: 3.8.x Rating:
Released: 05-15-2011 Last Update: 07-27-2012 Installs: 69
Supported Uses Plugins
Translations  

My VB4 Version of this mod won the June 2011 Mod-of-the-Month!! This is virtually an identical mod- thank you for your votes!

The purpose of this mod is to automatically turn keywords or phrases you specify into links. You set a list of keywords and a list of URLs to link them to and let the mod do the rest.

Demo Link

There are many options as you can see in the screenshot. You can choose to include the "nofollow" attribute, choose to open links in a new tab, choose to match whole words only or not, specify specific forums, enable in social groups and visitor messages, and disable completely for selected usergroups.

Version: 2.0
  • New in 0.91: Limit the number of links created per keyword per post.
  • New in 0.92: Use CSS to customize the look of links created by this mod.
  • New in 0.93: Linked words now retain the same case as they were originally typed. Also a new option to specify whether linked words are case sensitive or not.
  • New in 0.94: The <span> tags for use with custom CSS are now optional. They can be turned off to prevent unnecessary HTML generation if not using custom CSS. Also bug & conflict fix.
  • New in 0.95: Enable or disable in PMs.
  • New in 0.96: Should fix conflicts with AME mod, restores same case change in 0.93.
  • New in 1.0: Additional code to prevent unintended linking. No new features.
  • New in 1.1: Set approximate number of max links per page.
  • New in 1.2: Fixed bug when Ampersands (&) were used in keywords.
  • New in 1.3: Added optional notice on posts with links and associated phrase.
  • New in 1.31: Bug-fix. Somewhere around version 1.0 "Match Whole Words Only" stopped working. It is now fixed.
  • New in 1.5: Two new features: 1) You can now use a csv data file for your links (and advanced features) if you prefer and 2) You can use a custom user profile field to allow users to disable the mod individually if you choose.
  • New in 2.0: New condensed code. New option for custom regex code.

Example... If someone types:

"I bought it on Amazon."

This mod can auto convert it to:

"I bought it on Amazon.

And you would presumably put your Amazon affiliate code, if you had one, in the link.

NOTE: This mod does not alter the actual posts or the database. Disabling or uninstalling the mod will remove all links.

There is a VB3 and VB4 version of this mod, please download the correct version.

Full instructions in zip file.

*NEW IN 0.92*

As of version 0.92 all links created are within a <span> tag of class "boplink." This allows you to customize the look of the links created by this mod ussing CSS.

In your "Additional CSS" you can add the following CSS code and customize it to your liking for each of your styles. This is OPTIONAL. If you do not add this CSS links will retain the same style as existing links in your posts.

Sample CSS:

Code:
.boplink A:link {background: yellow; text-decoration: none}
.boplink A:visited {background: yellow; text-decoration: none}
.boplink A:active {background: yellow; text-decoration: none}
.boplink A:hover {background: yellow; font-weight:bold; color: red;}
This CSS will highlight the links in yellow and turn the text to red and bold when mouse-overed.

In VB 3.x Additional CSS is accessible via Style Manger -> All Style Options, scroll down to Additional CSS Definitions. Use the lower box to customize the CSS uniquely for each style.

This mod uses functions that may not work on non-latin (multibyte/unicode) characters. I'm sorry but it is only tested/working on English and other latin based alphabets.

Please Mark as Installed if you use this.

Download Now

File Type: zip Word Links FREE for VB3 by BOP5 v2.0.zip (244.6 KB, 256 views)

Screenshots

File Type: jpg wordlinks_phrase.jpg (73.2 KB, 0 views)
File Type: jpg wordlinks_vb3.jpg (103.2 KB, 0 views)
File Type: jpg user_profile_field_setup.jpg (93.2 KB, 0 views)
File Type: jpg word_links_free_vb4_settings_full.jpg (54.2 KB, 0 views)

Show Your Support

  • This modification may not be copied, reproduced or published elsewhere without author's permission.
4 благодарности(ей) от:
furnival, JohorBahru, xorex, yahsuah

Comments
  #112  
Old 01-12-2013, 02:07 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't have data to compare. I've seen several hundred links work without issue.
Reply With Quote
  #113  
Old 01-04-2014, 11:41 PM
RSNF's Avatar
RSNF RSNF is offline
 
Join Date: May 2010
Location: Florida
Posts: 242
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Is there a way to get this to ignore anything in a BB tag?
Reply With Quote
  #114  
Old 04-03-2015, 04:52 AM
mdawg's Avatar
mdawg mdawg is offline
 
Join Date: Mar 2009
Location: United States
Posts: 363
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

How about making this for vb 5 - vb5 is the wave of the future!

I was stuck in vb3 for years but now that I've upgraded to vb5 over all I am glad I made the move.
Reply With Quote
  #115  
Old 04-03-2015, 07:37 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by RSNF View Post
Is there a way to get this to ignore anything in a BB tag?
Not really, it never sees the bbcodes, it works on the test that had already been converted to HTML.
Reply With Quote
  #116  
Old 04-03-2015, 07:38 PM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by mdawg View Post
How about making this for vb 5 - vb5 is the wave of the future!

I was stuck in vb3 for years but now that I've upgraded to vb5 over all I am glad I made the move.
I have done some work on a VB5 version, it is not out of the question.
Reply With Quote
  #117  
Old 04-06-2016, 08:24 AM
NeutralizeR NeutralizeR is offline
 
Join Date: Aug 2005
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Hello,

Thanks for the mod. It seems I need a custom regex for this. Matching the <i> tags.

I also noticed if I use Turkish characters such as "Ş" in the phrase, the HTML output becomes invalid and I see the post text as font=5 ... etc.
Reply With Quote
  #118  
Old 04-06-2016, 10:33 PM
NeutralizeR NeutralizeR is offline
 
Join Date: Aug 2005
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Changing
PHP Code:
$bopfind preg_quote(htmlspecialchars($bopfind)); 
to
PHP Code:
$bopfind preg_quote($bopfind); 
fixed the issue with Turkish characters but not sure If it is safe to remove htmlspecialchars though I won't use &amp; < > etc. in my phrases.

<b> <i> <a> format has problems
Reply With Quote
  #119  
Old 04-07-2016, 07:14 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Sorry, am not able to test or fix it for non-English characters.

Removing htmlspecialcharacters may be causing the issue with the tags, but if you want to try a new custom regex try:

Code:
</b></a>|</font></a>|</b></font></a>|</font></b></a>|</c>|</b>|</i>|</a>|
However I don't know if it will work.

The default to go back to if it doesn't work is:

Code:
</b></a>|</font></a>|</b></font></a>|</font></b></a>|</c>|
Reply With Quote
Благодарность от:
NeutralizeR
  #120  
Old 04-07-2016, 09:11 AM
NeutralizeR NeutralizeR is offline
 
Join Date: Aug 2005
Posts: 355
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

Quote:
Originally Posted by BirdOPrey5 View Post
Sorry, am not able to test or fix it for non-English characters.

Removing htmlspecialcharacters may be causing the issue with the tags, but if you want to try a new custom regex try:

Code:
</b></a>|</font></a>|</b></font></a>|</font></b></a>|</c>|</b>|</i>|</a>|
However I don't know if it will work.

The default to go back to if it doesn't work is:

Code:
</b></a>|</font></a>|</b></font></a>|</font></b></a>|</c>|
Thanks, It worked. Not sure what "</c>" stands for though...

I fixed the problem with Turkish characters.

Added this function:

PHP Code:
function bop5htmlspecialchars ($t){   $find[0] = '<';   $find[1] = '>';   $replace[0] = '&lt;';   $replace[1] = '&gt;';   return str_replace ($find$replace$t);} 
Replaced the related line with this:
PHP Code:
$bopfind preg_quote(bop5htmlspecialchars($bopfind)); 
And replaced the $bopwd with this in the regex:
PHP Code:
(?<=^|\PL)('.$bopfind.')(?=\PL|$) 
Now "Match Whole Words Only" works for words beginning and ending with Turkish characters.

I'm currently using the CSV file and I will have about 200-250 words when I am done with the full list. xCache and VB Optimise are enabled, did not notice any performance issues so far (with 57 words). Do you think using the admincp option is faster?
Reply With Quote
Благодарность от:
BirdOPrey5
  #121  
Old 04-07-2016, 10:59 AM
BirdOPrey5's Avatar
BirdOPrey5 BirdOPrey5 is offline
Senior Member
 
Join Date: Jun 2008
Location: New York
Posts: 10,610
Благодарил(а): 0 раз(а)
Поблагодарили: 0 раз(а) в 0 сообщениях
Default

I don't think it would be a noticeable difference. In theory I suppose the admincp option would be slightly faster but also require slightly more memory use on every page load regardless if word links were being used on the page or not.

The setting was never meant to be faster than the other, juset easier for people dealing with longer lists of keywords/links.
Reply With Quote
Reply


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 01:20 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.08262 seconds
  • Memory Usage 2,375KB
  • Queries Executed 28 (?)
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
  • (5)bbcode_code
  • (5)bbcode_php
  • (3)bbcode_quote
  • (1)footer
  • (1)forumjump
  • (1)forumrules
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (1)modsystem_post
  • (1)navbar
  • (4)navbar_link
  • (120)option
  • (1)pagenav
  • (1)pagenav_curpage
  • (3)pagenav_pagelink
  • (1)pagenav_pagelinkrel
  • (11)post_thanks_box
  • (6)post_thanks_box_bit
  • (11)post_thanks_button
  • (1)post_thanks_javascript
  • (1)post_thanks_navbar_search
  • (3)post_thanks_postbit
  • (11)post_thanks_postbit_info
  • (10)postbit
  • (5)postbit_attachment
  • (11)postbit_onlinestatus
  • (11)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_postinfo_query
  • fetch_postinfo
  • 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
  • fetch_musername
  • post_thanks_function_fetch_thanks_end
  • post_thanks_function_thanked_already_start
  • post_thanks_function_thanked_already_end
  • post_thanks_function_fetch_thanks_bit_start
  • post_thanks_function_show_thanks_date_start
  • post_thanks_function_show_thanks_date_end
  • post_thanks_function_fetch_thanks_bit_end
  • post_thanks_function_fetch_post_thanks_template_start
  • post_thanks_function_fetch_post_thanks_template_end
  • postbit_imicons
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • postbit_attachment
  • postbit_display_complete
  • post_thanks_function_can_thank_this_post_start
  • pagenav_page
  • pagenav_complete
  • tag_fetchbit_complete
  • forumrules
  • navbits
  • navbits_complete
  • showthread_complete