2013-02-23 20 views
1

Goodmorning,我有一個問題...我有一個博客與mailto在每個職位/評論,包含主題和身體,但字有空白空間,我想用%20替換爲更好的驗證html。每個郵寄地址都有不同的主題和內容,我想用記事本+ +正則表達式匹配只有這種字符串替換:在mailto:替換主題和正文添加%20代替所有文件php中的空間使用記事本++

<A HREF="mailto:[email protected]?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:[email protected]?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:[email protected]?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包含空格,我想要使用正則表達式的記事本++處理所有文件

我寫了這個正則表達式只發現mailto字符串,但不包括空格的發生。

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

有解決方案嗎?謝謝你,週末愉快!

+0

有沒有什麼特別的原因,你沒有這個編程? – KryptoniteDove 2013-02-23 12:28:56

+0

從現在是自動使用簡單的str_replace php,但對於舊帖子,我必須修改它們... – Alecos 2013-02-23 12:43:12

回答

0

我調整你的正則表達式的表達,包括兩個組,並創建一個字符串Find這樣

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

Replace字符串應該是這樣的

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

我的想法是捕獲一個空白的發生並將其替換爲%20。但是,如果在記事本++(正則表達式模式)中應用Replace All,它將僅替換所有匹配行上的一個空格,因此您必須多次點擊Replace All,直到消息顯示爲0 occurance was replaced

祝你好運。

+0

Thanks!我會盡快嘗試你的解決方案。該解決方案聽起來不錯謝謝! – Alecos 2013-02-24 07:33:28

+0

工作得很好!我用%20替換了所有空間!謝謝,非常感謝您的幫助!你的答案是最好的! – Alecos 2013-02-24 08:09:47

0

您是否熟悉urlencode?爲什麼不使用它而不是在代碼中添加編碼的字符串?

+0

謝謝,我正在使用:** ' . $name . ' **但舊的帖子/評論沒有%20的空間.. 。 – Alecos 2013-02-23 12:45:32

+0

$ subject和$ body由htmlentities處理,所以我只能用%20轉換空格。我知道urlencode,我不需要我的目的,無論如何。 – Alecos 2013-02-23 13:06:51

+0

線265列79 - 警告:逃逸畸形URI參考 ** ** space錯 ** ** space正確 報告通過驗證的Firefox插件HTML整潔 – Alecos 2013-02-23 14:05:27

0

%20是空格,請在地址欄中填寫空格,然後單擊Enter。沒有問題:)

+0

我知道THA%20是一個空間,但是當我想驗證我的URL與HTML Tidy HTML驗證引擎(SGML + Tidy)我得到一個警告,因爲單詞之間有空格「」,而當我在單詞之間使用%20時沒有警告...... mailto:[email protected]?subject =這是錯誤的& body =這是一個測試... while mailto:[email protected]?subject = This%20is%20correct%20 & body = This%20is%20a%20test ... – Alecos 2013-02-23 13:03:49