【问题标题】:Create a php search page创建一个php搜索页面
【发布时间】:2023-03-10 00:11:01
【问题描述】:

我正在尝试创建一个可以搜索其他页面的页面! 除了一个细节,一切都在工作! 以下是部分代码:

$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 中排除符号吗? 提前致谢!

【问题讨论】:

    标签: php


    【解决方案1】:

    要从 $a 中删除标点符号,请尝试以下正则表达式:

    # 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);
    

    改编自citation接受的答案

    【讨论】:

      猜你喜欢
      • 2017-12-03
      • 1970-01-01
      • 2012-12-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多