2012-02-10 64 views
0

我需要周圍添加空格「 - 」文本(標記之間,而不是內部)PHP:如何周圍添加空格「 - 」用正則表達式

對於前:

1. <b>some-text</b> ---> <b>some - text</b> 
2. <a href="http://site-link">some-text</a> ---> <a href="hhtp://site-link">some - text</a> 

所以,不要碰HREF鏈接,只有文字... 我表達不正確使用attr鏈接的「href」工作:

$file = preg_replace('/>(.*?)([^\s\d])-([^\s\d])(.*?)</i', '>$1$2 - $3$4<', $file); 

回答

1

試試這個正則表達式:

$file = preg_replace('/(\>[^\-\<]*)-([^\<]*\<)/i', '$1 - $2', $file); 

另見this example

+0

因爲我需要改正一點;)謝謝 – 2012-02-10 14:31:13

0

正則表達式是這個職位的錯誤的工具。我將使用DOMDocument遍歷DOM並查找包含-個字符的文本節點,並根據需要替換它們。