小编jam*_*mes的帖子

正则表达式前瞻

我正在使用正则表达式来查找:

test:?
Run Code Online (Sandbox Code Playgroud)

跟随任何角色,直到它击中下一个角色:

test:?
Run Code Online (Sandbox Code Playgroud)

现在,当我运行这个正则表达式时,我做了:

((?:test:\?)(.*)(?!test:\?))
Run Code Online (Sandbox Code Playgroud)

在这篇文章中:

test:?foo2=bar2&baz2=foo2test:?foo=bar&baz=footest:?foo2=bar2&baz2=foo2
Run Code Online (Sandbox Code Playgroud)

我期望得到:

test:?foo2=bar2&baz2=foo2

test:?foo=bar&baz=foo

test:?foo2=bar2&baz2=foo2
Run Code Online (Sandbox Code Playgroud)

但相反,它匹配一切.有更多正则表达式经验的人知道我哪里出错吗?之前我曾使用正则表达式进行模式匹配,但这是我第一次看到/看到前瞻性.

在此先感谢任何帮助/提示/指示:-)

regex regex-lookarounds

5
推荐指数
1
解决办法
1990
查看次数

通过Varien_Event_Observer访问模型

我在Magento 1.6.2.0中有一个自定义观察器,在保存或删除CMS页面时调用它(事件cms_page_delete_before/cms_page_save_before).我已经验证(使用Mage :: log())观察者正在工作,但是当我尝试以下操作时:

public function getCmsUrl(Varien_Event_Observer $observer)
{
    $url = $observer->getEvent()->getPage()->getIdentifier();
    return $url;
}
Run Code Online (Sandbox Code Playgroud)

我没有得到任何回报(而不是"约 - 我们"或"启用cookie"或CMS页面具有的任何URL路径).但是,以下代码完全正常:

public function getProductUrl(Varien_Event_Observer $observer)
{
    $baseUrl = $observer->getEvent()->getProduct()->getBaseUrl();
    return $baseUrl;
}
Run Code Online (Sandbox Code Playgroud)

有人能通过观察者告诉我访问CMS页面的正确方法是什么吗?

在此先感谢任何帮助/提示/指示:-)

magento

3
推荐指数
1
解决办法
1428
查看次数

标签 统计

magento ×1

regex ×1

regex-lookarounds ×1