【发布时间】:2016-04-28 04:53:45
【问题描述】:
我有一个值如下的数组:
$needles = array(
'hide',
'foo',
'bar'
);
我想在这样的字符串中搜索这些针:
$string = 'lets unhide this div';
foreach( $needles as $needle ):
if( strpos( $string, $needle ) ) echo 'do stuff';
endforeach;
到目前为止,这工作得很好,但存在一个问题,即上面示例中的取消隐藏被捕获但它不应该被捕获。我知道我可以简单地在针周围添加空白,但事情是这样的:
搜索应捕获以该开头的单词(隐藏而不是unhide),但应使单词的结尾保持打开状态,以便捕获隐藏ous .. . 这在我知道的英语中可能没有意义,但这正是我需要的行为(因为它在德语中效果很好)。
所以我需要这样的正则表达式:
if( strpos( preg_match( 'stringstartorwhitespace|'.$needle.'|anythingexceptwhitespace|whitespace' ), $string ) ) echo 'do stuff';
以下是一些结果
schön in schön = 1
schön in unschön = 0
schön in schönes = 1
schön in schönstes = 1
schön in schönem = 1
【问题讨论】:
-
我觉得你需要this