次の preg_replace() 呼び出しを使用して、リンクを新しい構造に置き換えています。
preg_replace('/example.com\/sub-dir\/(.*)">/', 'newsite.co.uk/sub-dir/$1.html">', $links);
置換の最後に「.html」を追加しないことを除いて、ほとんど機能するため、「newsite.co.uk/sub-dir/page-identifier」ではなく「newsite.co.uk/sub-dir/page-identifier」のようなものになります。 co.uk/sub-dir/page-identifier.html".
私が見逃しているのは単純なことだと確信していますが、問題をグーグルで調べても有用な結果が得られなかったので、ここの誰かが助けてくれることを願っています!
前もって感謝します!
編集:例として、これは $links のリンク側です
<a href="http://example.com/sub-dir/the-identifier">Anchor</a>
上記の例は、正規表現を (.*?) に変更した場合に機能しますが、以下は機能しません。
<a class="prodCatThumb" title="View product" href="http://example.com/sub-dir/product-identifier">
それは次のようになります
<a class="prodCatThumb.html" title="View product" href="http://example.com/sub-dir/product-identifier">
何か案は?