1

URL のトラッキング コードを除外して、XML ファイルからすべての URL を抽出したいと考えています。

以下は URL の例です。これらはすべて同じ形式に従います。

http://www.domain.com.au/category/pXXXXXX?uni_id=XXXXXX&cid=1_demo_1

したがって、ドメイン間で変更されるのは、数値である XXXXXX だけです。

私が望む最終結果は

http://www.domain.com.au/category/pXXXXXX

以下のコードで preg_replace を使用しようとしましたが、最終的に URL 全体をランダムな (と思う) 番号に置き換えてしまいました

$data = preg_replace('/http\:\/\/www\.domain\.com.au\/[^\?]+([^.]+)/','',$data);
4

1 に答える 1

1

preg_match()XML内のURLを:と一致させます

preg_match("(http://[^\s]+|ftp://[^\s]+)", $input, $matches);

次に、preg_replace()削除する必要がある文字列の部分のみを使用し、一致させる必要があります。

foreach($matches as $value)
{
    preg_replace("(\?[^\s]+)","",$value);
}
于 2012-07-18T23:45:49.573 に答える