将链接更改为重定向页面php
How do i change a url in a string example :
This is a link <a href="http://google.com.au">http://google.com.au</a>
To something like this
This a warning page link <a href="./warn.php?link=http://google.com.au">http://google.com.au</a>
EDIT:
What i'm trying to do is take a description entered by the end user, They might enter links in the description, i want to change all the links to make them GOTO a warning page, the warning page is ./warn.php?site=link
The string might look like this
This is a awesome description <a href="google.com.au">Google</a> and this another link <a href="http://google.com.au/images">Google images</a>
Ok here's what i tried:
$descc = mysql_real_escape_string($_POST['description']);
$descc = preg_replace('"\b(http://\S+)"', '<a href="./warn.php?site='.base64_encode(.'$1'.).'">$1</a>', $descc);
Check this, although im not sure if you are really refering to this, just let me know the case then ---
$mylink = "http://google.com.au";
This a warning page link <a href="./warn.php?link=<?php echo $mylink ?>">http://google.com.au</a>
EDIT version 1.0
Even it is on description box data you can fetch it via jquery or php like
$mylink = $_GET['desc_name_data'];
Please be more specific with the problem :)
EDIT Version 1.1
Check this and let me know then --
echo preg_replace('(<a href="http://\S+)', '<a href="./warn.php?site='.'google.com.au'.'">google.com.au', $descc);
You could have a look at preg_replace()
.
I'm not sure I understand your question, but urlencode may help.
<a href="./warn.php?link=<?php echo urlencode('http://google.com.au'); ?>">http://google.com.au</a>
If this isn't it, then please be a bit more specific with what you're trying to achieve and what you have tried.
EDIT:
Ok, you could try a HTML parser to extract the href from the link, then rewrite appropriately. This is likely to be more reliable that a regex.
You should still add urlencode if you're passing a url as a querystring.