Php 将匹配词提取到JSON文件

Php 将匹配词提取到JSON文件,php,arrays,json,Php,Arrays,Json,是否可以将与JSON文件中的内容匹配的内容提取为单独的JSON数据 <?php $searchArray = array('settings all','print', 'sum', 'industry'); // total 50K words function sanitize($string,$searchArray) { $repl = array_map("dashReplace", $searchArray); $pattern = array_map("

是否可以将与JSON文件中的内容匹配的内容提取为单独的JSON数据

<?php

$searchArray = array('settings all','print', 'sum', 'industry'); // total 50K words


function sanitize($string,$searchArray) {
    $repl = array_map("dashReplace", $searchArray);
    $pattern = array_map("insertWordBoundaries", $searchArray);
    $string = preg_replace($pattern,$repl,$string);
    return $string;
}

function dashReplace($str) {
    return "<span class='txtOlg'>" . $str . "</span>";
}

function insertWordBoundaries($str){
    return "/\b". preg_quote($str,"/") ."\b/";
}

$text = 'Lorem Ipsum is simply dummy text of the printing and typesettings all industry.';
echo sanitize($text,$searchArray);

您可以使用
数组相交($array1,$array2)
为您提供一个数组,其中两个数组都具有该值


您可以使用
数组相交($array1,$array2)
为您提供一个数组,其中两个数组都具有该值


好的!在做了一些研究之后,我想到了这个,用php和mysql加快搜索速度

1。创建索引示例

下面的SQL语句在“Persons”表的“lastname”列上创建一个名为“idx_lastname”的索引

请看这里:

有几种方法可以创建索引(列的组合)等等。您可能知道它们

2.全文

我在我所有的项目中都使用全文,它对我来说很好,在性能上从来没有问题。 Mysql站点:

请看这里:

其他解决方案

检查mysql设置,使用更快的方法,并在上面创建列。 示例:char比varchar快,但char的字数限制更小

您需要研究mysql更快的方法

给出的答案是你想要的最好的解决方案,所以我不会给出重复的答案

但我真的不认为这个解决方案会提高服务器的性能。
即使会让它变得更慢,你也需要了解mysql的设置,以及如何让它更快,如何发送最少的查询等等。

好的!在做了一些研究之后,我想到了这个,用php和mysql加快搜索速度

1。创建索引示例

下面的SQL语句在“Persons”表的“lastname”列上创建一个名为“idx_lastname”的索引

请看这里:

有几种方法可以创建索引(列的组合)等等。您可能知道它们

2.全文

我在我所有的项目中都使用全文,它对我来说很好,在性能上从来没有问题。 Mysql站点:

请看这里:

其他解决方案

检查mysql设置,使用更快的方法,并在上面创建列。 示例:char比varchar快,但char的字数限制更小

您需要研究mysql更快的方法

给出的答案是你想要的最好的解决方案,所以我不会给出重复的答案

但我真的不认为这个解决方案会提高服务器的性能。
即使会让它变得更慢,你也需要了解mysql的设置,以及如何让它更快,如何发送最小的查询等等。

一切都是可能的(除了木制的火炉)。引导服务也是如此。你必须自己尝试一些东西,如果你遇到一些问题,向我们展示你的代码并问一些具体的问题。我看到一个单个单词的数组,然后是一个长字符串。JSON在哪里起作用?@Dilek(Merhaba)是的,实际上,我想把它放在一个数组中。仅在一个数组中-因此我希望防止从超过50000个单词池中再次搜索它。仅在单独的数组中打印匹配的单词。我认为这与AJAX无关。谢谢你的帮助和时间@Dilek:)(O kelimeler-nereden-geliyor?)这句话是从哪里来的?一切都是可能的(除了木制火炉)。引导服务也是如此。你必须自己尝试一些东西,如果你遇到一些问题,向我们展示你的代码并问一些具体的问题。我看到一个单个单词的数组,然后是一个长字符串。JSON在哪里起作用?@Dilek(Merhaba)是的,实际上,我想把它放在一个数组中。仅在一个数组中-因此我希望防止从超过50000个单词池中再次搜索它。仅在单独的数组中打印匹配的单词。我认为这与AJAX无关。谢谢你的帮助和时间@Dilek:)(O kelimeler-nereden-geliyor?)这些话是从哪里来的?
<?php

$searchArray = array('settings all','print', 'sum', 'industry');
$text = 'Lorem Ipsum is simply dummy text of the printing and typesettings all industry.';
$text = str_replace('.', '', $text); // and any other characters you dont want
$checkArray = explode(' ', $text);

var_dump(array_intersect($searchArray, $checkArray));
CREATE INDEX idx_lastname
ON Persons (LastName);