2016-09-17 85 views
0

我想创建一个页面,将搜索其他页面! 除了一个细节,所有的工作! 下面是部分代码:创建一个php搜索页面

$a = file_get_contents('a.html'); 
$b = explode(' ' , $a); 
$phpsearch = $_POST['htmlsearch']; 
if ($phpsearch != null) { 
    foreach ($a as $key) { 
     if ($phpsearch == $key) { 
      echo '<b>Search for ' . $phpsearch . ' - <a href=\'abc.html\' target=\'_blank\'>aaa</a></b><br>'; 
      break; 
     } 
    } 
} 

搜索显示什么,如果有一个逗号或一个点,旁边的字!

我已经在第5行上试过了 - > if($ phpsearch == $ key。',') 它不工作! 我可以将变量$ key与符号合并或从变量$ a中排除符号吗? 在此先感谢!

回答

0

从$删除标点试试这些正则表达式:

citation

# to keep letters & numbers 
$a = preg_replace('/[^a-z0-9]+/i', '_', $a); # or... 
$a = preg_replace('/[^a-z\d]+/i', '_', $a); 


# to keep letters only 
$a = preg_replace('/[^a-z]+/i', '_', $a); 

# to keep letters, numbers & underscore 
$a = preg_replace('/[^\w]+/', '_', $a); 

# same as third example; suggested by @tchrist 
$a = preg_replace('/\W+/', '_', $a); 

从接受的答案改编