1

これはソースです:

<item>
  <title>Quarterly Report ( Third Quarter 2013 )</title>
  <link>http://www.example.com/reports/Q3 2013_Final.pdf</link>
  <pubDate>24 Oct 2013 00:00:00 +0500</pubDate>
</item>

%20URL 内でのみ、スペースを , に置き換える必要があります。

どうすればそれを行うことができますか?

編集: ソース データは、私がアクセスできない別の Web サイトからのものであり、スペース文字を置き換えるためだけに XML を解析したくありません。

4

2 に答える 2

1

あなたのコメントから、phpを使用していると仮定します。

これはどうですか

function FixSpace($match)
{
    $out  = $match[1];                          // opening tag
    $out .= str_replace(' ', "%20", $match[2]); // url
    $out .= $match[3];                          // closing tag

    return $out;
}

$input = preg_replace_callback("~(<link>)(.*?)(</link>)~", "FixSpace", $input);
于 2013-11-03T11:51:41.963 に答える
0

最初に正規表現 ".*</link>" を使用してリンク タグとコンテンツを選択し、スペース、つまり \s を %20 に置き換えます。

ルビー言語を使って例を書いています。

str= "<item>

四半期レポート (2013 年第 3 四半期) http://www.example.com/reports/Q3 2013_Final.pdf 24 Oct 2013 00:00:00 +0500 " str.scan(/.*</link>/).first. gsub(/\s/,'%20')

于 2013-11-03T12:00:32.223 に答える