Log in

View Full Version : Text Replace - HowTo?


tylercruz
05-15-2004, 11:31 PM
Hi,

I would like to be able to have the forum automatically change a word in a post to something else when posted..

For example, somebody types the post:

Hello, everyone go to yahoo.

And have it changed to:

Hello, everyone go to http://www.Yahoo.com.

How can I do this?

Thanks a lot!

Ahmad
05-16-2004, 03:13 AM
Hi,

I would like to be able to have the forum automatically change a word in a post to something else when posted..

For example, somebody types the post:

Hello, everyone go to yahoo.

And have it changed to:

Hello, everyone go to http://www.Yahoo.com.

How can I do this?

Thanks a lot!
If I recall correctly, it can be done as a smilie. Or maybe that was in a dream.

Xenon
05-16-2004, 06:05 PM
nope, not with smilies, but with the replacement vars :)

ryancooper
05-16-2004, 07:33 PM
nope, not with smilies, but with the replacement vars :)
You can do it with replacements BUT when the word Yahoo is in the title it replaes that as well messing things up on the page.

Can it be done in the showthread only and not on the forumhome?

Thanks

Xenon
05-16-2004, 08:23 PM
hmm, well, then you have to hack the bbcodeparse function a little bit:

open functions_bbcodeparse.php

find:
if ($isimgcheck)
{ // do this since we're only checking for smilies and IMG code
$dobbcode = 0;
}
return parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br);


and replace with:
if ($isimgcheck)
{ // do this since we're only checking for smilies and IMG code
$dobbcode = 0;
}
return str_replace('yahoo', '<a href="http://www.yahoo.com">yahoo</a>', parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br));

that way it's hardcoded, but will work :)

Ahmad
05-17-2004, 04:32 AM
I thought that replacement variables do not act on post content. Maybe that was in the same dream, sorry :)

ryancooper
05-17-2004, 02:07 PM
hmm, well, then you have to hack the bbcodeparse function a little bit:

open functions_bbcodeparse.php

find:
if ($isimgcheck)
{ // do this since we're only checking for smilies and IMG code
$dobbcode = 0;
}
return parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br);


and replace with:
if ($isimgcheck)
{ // do this since we're only checking for smilies and IMG code
$dobbcode = 0;
}
return str_replace('yahoo', '<a href="http://www.yahoo.com">yahoo</a>', parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br));

that way it's hardcoded, but will work :)
YOU DA MAN!!! Thanks! ;)

ryancooper
05-17-2004, 02:21 PM
I thought that replacement variables do not act on post content. Maybe that was in the same dream, sorry :)
To add more than one??

return str_replace('yahoo', '<a href="http://www.yahoo.com">yahoo</a>',return str_replace('google', '<a href="http://www.google.com">google</a>', parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br)));


???

Xenon
05-17-2004, 03:54 PM
@Ahmad: nah, it weas jsut in vb2 some of the replacementvars (those which started with an {) were not parsed inside posts, but all others have been all the time ;)

@ryan: you should then use array replacement:

$links = array(
'search' => array('yahoo', 'google', 'astalavista'),
'replace' => array('<a href="http://www.yahoo.com">yahoo</a>', '<a href="http://www.google.com">google</a>', '<a href="http://www.altavista.com">Altavista</a>'));
return str_replace($links['search'], $links['replace'], parse_bbcode2($bbcode, $dohtml, $dobbimagecode, $dosmilies, $dobbcode, $iswysiwyg, $donl2br));