2011-11-08 182 views
1

嗨爲什麼這個reg.exp不工作? 'TEST'應該替換爲XXX嗎?PHP正則表達式(替換文本)

<?php 
$Rules = array ('@<script[^>]*?>.*?</script>@si', 
      '@(TEST);[email protected]'); 
$Replace = array ('',  
       'XXX' 
      ); 

     $data ="this is a TEST string"; 
     $data = preg_replace($Rules, $Replace,$data); 
     echo $data; 

?> 
+0

對此類任務使用'str_replace'。它是快速 – diEcho

+0

謝謝,但需要使用reg.expr,因爲這是功能的快照 – user914584

回答

0

你的正則表達式是(TEST);+其中利斯特串TEST後面跟着一個或多個的+匹配。

由於您的字符串$data中沒有;,所以匹配從未發生過。

+0

'@(TEST); + @ e' - > @(KOOS)@i – user914584