返回字符串的子字符串(如果存在)

时间:2019-02-10 04:58:01

标签: php regex

我需要从CSV文件中的产品描述中提取控制台平台。

我使用正则表达式来匹配列表中包含的所有控制台品牌。

这是用于WP All-Import插件PHP编辑器窗口小部件。

$haystack = "NINTENDO MARIO KART 7 XBOX-360 SPECIAL EDITION";

echo preg_replace('/(\PS4\b)|(\bPS3\b)|(\bSWITCH\b)|(\bXBOX \b)|(\bXBOX-360\b)|(\bXBOX-ONE\b)|
(\bPC\b)|(\bPSP\b)|(\bWII \b)|(\bWII-U\b)|(\b3DS\b)|(\b2DS\b)|(\bNINTENDO-DS\b)/', '$1', $haystack);

我希望: XBOX-360

它返回字符串的其余部分,除了我期望的以外: NINTENDO MARIO KART 7特别版

2 个答案:

答案 0 :(得分:2)

您可以使用preg_match。 $ result [0]变量将是结果

$haystack = "NINTENDO MARIO KART 7 XBOX-360 SPECIAL EDITION";

preg_match('/(\PS4\b)|(\bPS3\b)|(\bSWITCH\b)|(\bXBOX \b)|(\bXBOX-360\b)|(\bXBOX-ONE\b)|
(\bPC\b)|(\bPSP\b)|(\bWII \b)|(\bWII-U\b)|(\b3DS\b)|(\b2DS\b)|(\bNINTENDO-DS\b)/', $haystack, $result);
echo $result[0];

答案 1 :(得分:0)

请有人详细说明您将在“属性”字段中输入什么以调用响应。我已经尝试了$ result [0],但似乎没有用。