如何使用Php自动链接文本中的关键字?

时间:2014-04-18 19:25:01

标签: php str-replace autolink

这是我的代码。我的目的地是:我将输入一些内容文本(如文章),关键字和网站网址。最后,文本中的关键字将链接到我曾经给过的网址。 但代码不起作用。那我的错误在哪里?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Title</title>
</head>

<body>

   <form name="form1" method="post" action="">
<div style="float:left">
<table width="40%" border="0" >   
<tr>
    <td height="30" class="yazi">Text</td>
    <td height="30">:</td>
    <td height="30">
    <span class="formyazi"><textarea name="text1" cols="75" rows="25"></textarea><br></span>
    </td>
</tr>

<tr>
    <td width="23%" height="30" class="yazi">Keywords</td>
    <td width="1%" height="30" class="style1">:</td>
    <td width="76%" height="30">
    <span class="formyazi"><input type="text" name="keywords" value=""></span>
     </td>
</tr>

<tr>
    <td width="23%" height="30" class="yazi">site adress</td>
    <td width="1%" height="30" class="style1">:</td>
    <td width="76%" height="30">
    <span class="formyazi">http://<input type="text" name="site" value="">/</span>
     </td>
</tr> 






<tr>
    <td height="55" colspan="3">
        <input type="submit" class="button" style="font-size:10pt;color:#FFFFFF;border-style:solid;border-width:1;background-color:#0D78B3" value="Send!">
    </td>
</tr>
</table>
</div>
 </form>  


<?php
$text2=$_POST["text1"];
$nesne=str_replace($keywords,'<a href="$link" title="$keywords" target="new">$keywords</a>',$text2 ,1);
$linkedtext=$nesne;
?>   
<div style="float:left">
<table width="40%" border="0" > 
<tr>
    <td height="30" class="yazi">Text with link</td>
    <td height="30">:</td>
    <td height="30">
    <span class="formyazi"><textarea name="cikti" cols="75" rows="25"><?php echo $linkedtext;?></textarea><br></span>
    </td>
</tr>
</table>
</div>
</body>
</html>

1 个答案:

答案 0 :(得分:0)

由于您根据评论获得了正确的$ _POST变量,因此您需要立即解决此问题

$nesne=str_replace($keywords,'<a href="$link" title="$keywords" target="new">$keywords</a>',$text2 ,1);

您不能将变量放在单引号分隔的字符串中 - 在其中使用单引号的双引号。

像这样:

$nesne=str_replace($keywords,"<a href='$link' title='$keywords' target='new'>$keywords</a>",$text2 ,1);