2

おはようございます、質問があります...件名と本文を含む各投稿/コメントにmailtoを含むブログがありますが、単語の間に空白があり、HTMLの検証を改善するために%20に置き換えたいと思います。各 mailto には異なる件名と本文があり、この種類の文字列のみに一致する notepad++ 正規表現を使用して置き換えたいと思います:

<A HREF="mailto:pippo@pluto.it?subject=Diario: Tanto per ridere un p&ograve;...&amp;body=Gentile visitatore, La informo che messaggi offensivi o volgari verranno scartati, buona prosecuzione." CLASS="hyperlink">Pippo Pluto</A>

<A HREF="mailto:topolino@paperino.it?subject=Diario: Dead Space e Dead Sapce 2&amp;body=Gentile visitatore, La informo che messaggi offensivi o volgari verranno scartati, buona prosecuzione." CLASS="hyperlink">Paolino Paperino</A>

結果として、私は持っていたい:

<A HREF="mailto:picodepaperis@dysney.it?subject=Diario:%20Neutrini%20sfondano%20i%20300.000%20Km/s&amp;body=Gentile%20visitatore,%20La%20informo%20che%20messaggi%20offensivi%20o%20volgari%20verranno%20scartati,%20buona%20prosecuzione." CLASS="hyperlink">De Paperis Pico</A>

空白を含む560個のファイルphpがあり、notepad ++の正規表現を使用してすべてのファイルを処理したい

mailto 文字列のみを検出するが、空白の発生はカバーしないこの正規表現を作成しました。

<A HREF=\"mailto:([^"]*)\" CLASS="hyperlink">

解決策はありますか?ありがとう、良い週末を!

4

3 に答える 3

0

正規表現を微調整して、さらに 2 つのグループを含め、Findこのような文字列を作成しました

<A HREF=\"mailto:([^"]*)(\s)(.*)\" CLASS="hyperlink">

Replace文字列は次のようになります

<A HREF=\"mailto:\1%20\3\" CLASS="hyperlink">

私の考えは、空白の 1 つの発生をキャプチャし、それを%20. ただし、Replace Allnotepad ++(正規表現モード)内で適用すると、一致するすべての行の1つのスペースのみが置き換えられるためReplace All、メッセージが表示されるまで数回 クリックする必要があります0 occurance was replaced.

幸運を。

于 2013-02-23T23:01:35.757 に答える
0

あなたはurlencodeに精通していますか?コードにエンコードされた文字列を追加する代わりに、それを使用しないのはなぜですか?

于 2013-02-23T12:28:44.993 に答える
0

%20 はスペースです。アドレス行にスペースを入力して、Enter をクリックします。問題はありません:)

于 2013-02-23T12:50:07.013 に答える