如何阻止我的搜索栏打开新标签?

时间:2014-03-22 22:02:40

标签: php html search

如何阻止我的搜索栏打开新标签?我没有看到它是怎么做到的?继承我的PHP代码。我最近在这个搜索栏上遇到了几个问题...

继承我的代码(这是非常长的......):

 <?php
    $xmlDoc=new DOMDocument();
    $xmlDoc->load("links.xml");

    $x=$xmlDoc->getElementsByTagName('link');

    //get the q parameter from URL
    $q=$_GET["q"];

    //lookup all links from the xml file if length of q>0
    if (strlen($q)>0)
    {
    $hint="";
    for($i=0; $i<($x->length); $i++)
      {
      $y=$x->item($i)->getElementsByTagName('title');
      $z=$x->item($i)->getElementsByTagName('url');
      if ($y->item(0)->nodeType==1)
        {
        //find a link matching the search text
        if (stristr($y->item(0)->childNodes->item(0)->nodeValue,$q))
          {
          if ($hint=="")
            {
            $hint="<a href='" . 
            $z->item(0)->childNodes->item(0)->nodeValue . 
            "' target='_blank'>" . 
            $y->item(0)->childNodes->item(0)->nodeValue . "</a>";
            }
          else
            {
            $hint=$hint . "<br /><a href='" . 
            $z->item(0)->childNodes->item(0)->nodeValue . 
            "' target='_blank'>" . 
            $y->item(0)->childNodes->item(0)->nodeValue . "</a>";
            }
          }
        }
      }
    }

    // Set output to "No suggestions" if no hint were found
    // or to the correct values
    if ($hint=="")
      {
      $response="No suggestion";
      }
    else
      {
      $response=$hint;
      }

    //output the response
    echo $response;
    ?>

2 个答案:

答案 0 :(得分:8)

您需要删除remove target ='_ blank'

答案 1 :(得分:0)

替换此

$z->item(0)->childNodes->item(0)->nodeValue . 
            "' target='_blank'>" .

由此

$z->item(0)->childNodes->item(0)->nodeValue . 
            "'>" .

标记target="_blank"在新窗口中显示开始链接