php - 在 PHP 中,从纯文本中过滤掉单词集的最佳方法是什么

标签 php regex search substring preg-match

假设您有纯文本输入。在该文本中,您可以查找关键字。说出“成本”、“位置”和“ Material ”,您要过滤掉这些关键字后面的单词,以便稍后可以将它们存储在数据库中包含这些关键字的列下。

你会怎么做?我正在考虑将字符串转换为数组,然后进行搜索并使用键值来计算出关键字之间的单词范围。这只是一个想法,有人有更好的吗?

输入示例:

Cost £45 Materials glue, plastic, wood and nails Location Sale, Manchester North England.

内容在变量中像这样分组:

$cost = "£45";
$materials = "glue, plastic, wood and nails";
$location = "Sale, Manchester North England";

最佳答案

您可以使用此正则表达式来匹配您的值:

\s*\bCost\s+(?<cost>.+?)\s*\bMaterials\s+(?<material>.+?)\s*\bLocation\s+(?<location>.+)

RegEx Demo

代码:

$re = '/\s*\bCost\s+(?<cost>.+?)\s*\bMaterials\s+(?<material>.+?)\s*\bLocation\s+(?<location>.+)/'; 

preg_match($re, $str, $matches);

print_r($matches);

您将在 $matches 数组中获取匹配的值,其中索引名称指示其匹配的值。

关于php - 在 PHP 中,从纯文本中过滤掉单词集的最佳方法是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32548111/

相关文章:

php - MySQL bool 类型

php - 如何在 php xampp 中启用或安装 XLST

php - 在 codeigniter 中分离站点和管理员

regex - BASH_REMATCH 不捕获

php - 使用 php 从数据库中获取 HTML 文本

javascript - Javascript 中的 document.URL 匹配

php - 使用 PHP 在 IMAP 服务器上查找具有准确电子邮件地址的电子邮件

php - 无需用户身份验证的开发环境的 Symfony http 基本身份验证

javascript - 我想改进 Javascript/jQuery 中的搜索替换功能

javascript - 如何使用分割成数组的字符串搜索数组?