Не хочу, чтобы регулярное выражение `on *` совпадало с 'options' - PullRequest
2 голосов
/ 03 августа 2010

Мне нужно многое узнать о регулярных выражениях.

У меня есть ассоциативный массив, подобный следующему:

array(
    "label"=>"Special",
    "title"=>"Category",
    "onclick"=>"dosomething()",
    "options"=>array(
        "one"=>"something"
    )
)

Я пытаюсь использовать preg_match_all намассив выглядит так:

$match="on*";
foreach ($value as $param=>$text) {
    if (preg_match_all("/".$match."/",$param,$matches)) {
        $return.=" ".$param."='".$text."'";
    }
}
return $return;

Моя проблема $return в конечном итоге выглядит следующим образом:

 options='Array' onclick='dosomething()'

Очевидно, что мое регулярное выражение неверно.on* недостаточно - он также соответствует 'options'.: (

Может кто-нибудь сказать мне, какое правильное регулярное выражение использовать?

1 Ответ

1 голос
/ 03 августа 2010

Вы проверяете "вкл" в любом месте строки. Вам нужно привязать «on» к началу строки следующим образом:

/^on/

Приветствие.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...