使用PHP中的preg_grep()在字符串之前或之后查找字符

时间:2017-05-09 11:38:04

标签: php preg-grep

我需要在数组中使用PHP preg_grep()查找单词之前或之后的任何字符。我有一个像下面这样的数组

$findgroup = array("aphp", "phpb", "dephpfs", "potatoes");

我需要从数组中找到值'php'之前或之后(双方,而不是双方)单词或双字符的'php'单词的值。结果应该是数组中的'aphp','phpb'字。

我尝试使用以下代码但不起作用。

$result[] = preg_grep("/(.{1})php(.{1})/", $findgroup);

1 个答案:

答案 0 :(得分:2)

锚定你的正则表达式,并为之前和之后的角色添加量词:

$findgroup = array("aphp", "phpb", "dephpfs", "potatoes", "aphpb", "php");
$result = preg_grep("/^(?:.{1,2}php|php.{1,2})$/", $findgroup);       
print_r($result);

<强>输出:

Array
(
    [0] => aphp
    [1] => phpb
)