0

スラッシュ (/) で終わる URL を置き換えるための preg_replace の正規表現があります。ただし、最後に URL を .jpg に置き換えます。URL の場合は問題なく動作しますが、.jpg の URL を置き換える必要はありません。誰か助けてくれませんか?

protected function _rewriteUrls($sContent)
{
        $target      = $this->getConfig()->getConfigParam('sShopURL').$this->_getToxidLangSeoSnippet().'/';
        $source    = str_replace('.','\.',$this->_getToxidLangSource());
        $actual    = '%href="'.$source.'(?=.*?.html)%';
        $should    = 'href="'.$target;
        return preg_replace($actual, $should, $sContent);
}

このコードは、OXID を wordpress などの別のシステムと組み合わせるために、TOXID と呼ばれる OXID モジュールからのものです。$sContent には、Wordpress ブログの HTML を含める必要があります。つまり、これは基本的に URL を書き換えて、OXID ショップ内をナビゲートしているように見せます。ご覧のとおり、元は正規表現に .html が含まれていますが、URL パターンが異なる場合、これは役に立ちません。なのでスラッシュ(/)に変えました。残念ながら、.jpg の URL も変更されます。

sContent のサンプル データは次のとおりです: http://pastebin.com/nTXAAhWq

4

2 に答える 2

0

リンク先のコンテンツに基づいて変更されました:

$actual = '%href="'.$source.'(?=.*?/")%';
于 2013-08-01T16:00:21.800 に答える