Hi all I get this error:
Warning: preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash in /html/try.php on line 3
with this code- what delimiter is it refering to? Thanks
<?php
$ua = $_SERVER['HTTP_USER_AGENT'] ;
$bot = preg_match('Yahoobot', $ua);
function dynlink($url, $inner) {
if($bot==0) {
echo '<a href="' . $url .'">' . $inner . '</a>';
}
else { echo $inner; }
}
?>
<?php dynlink('/contactus.html','Contact Us') ?>
The regular expression needs to be contained within forward slashes. See the preg_match documentation for examples.
And of course, you should be aware that the technique you’re using is likely to put you in the deep doo-doo. You can instead use nofollow on untrusted links to prevent all well-behaved spiders from following them.
See also: Delimiters in the PCRE regex section of the PHP manual.
As shown in the article Salathe linked to, you don’t have to use a forward slash as the delimiter.
I usually use forward slashes, but if the expression itself contains a slash I use the wiggly dash: ~
This is useful for URLs. An example match:
if(preg_match('/^http:\\\\/\\\\/www\\.([A-Za-z0-9_])\\.com\\\\/?$/', $Url)){
Could be made easier by using a different delimiter, so the slash doesn’t have to be escaped:
if(preg_match('~^http://www\\.([A-Za-z0-9_])\\.com/?$~', $Url)){
Off Topic:
Note the above probably isn’t a valid URL match, it was an example 
Thanks for all the answers I will incorporate the answers in my code.
Paul nofollow doesn’t work anymore unfortunately for google pagerank sculpting so this is why I am using this solution.
No not rumours. No follow is not advised for page rank sculpting anymore according to the person who invented page rank sculpting. Thanks.