我已经预定义了一个数组:
$tags = array('PHP', 'Webdesign', 'Wordpress', 'Drupal', 'SQL');
现在我在文本区域中输入一个值:
$text = 'Working With Wordpress Shortcodes and doing some NoSQL and SQL';
如何将字符串值与预定义数组进行比较?
基于上述内容,我想要的所需结果是"Wordpress"和"SQL">
我可以在PHP和JQuery中做到这一点吗?
另外,如果它将包含一个正则表达式,例如
Working With Wordpress; Shortcodes: and doing some NoSQL and ""SQL
那怎么办?
你应该像这样拆分你的字符串
$array = explode( ' ', $text );
然后像这样比较
$result_array = array_intersect($tags, $array);
现在result_array将包含两个数组中的每个值:)
使用爆炸拆分字符串以工作,而不是为每个单词检查in_array
$words = explode(' ', $text);
$result = array();
foreach ($words as $word) {
if (in_array($word, $tags)) {
$result[] = $word;
}
}
注意:比较将区分大小写
foreach(explode(' ', $text) as $word) {
if(in_array($word, $tags)) {
// This word is in our tags array, do something.
}
}
我找到了一些解决方案,它非常适合我。首先,我用","重新排列字符串,
使用var valsp = $('#desc'(.val((;var results = valsp.split(/''W+/(;
在此之后,只需使用 inArray(( 我就得到了想要的结果
希望对其他人有帮助