スラッシュ (/) で終わる 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