2011-10-08 256 views
0

对不起,“让我谷歌为你” - 问题,但我无法找到答案。PHP-MySQLi替换为正则表达式/正则表达式/正则表达式

我想从我的数据库中的列中删除specfic元素。所以我搜索下面的代码为他们:(它工作正常)

$sql = "SELECT list_id, list_domains 
      FROM list 
      WHERE list_domains REGEXP '[\s]*[a-z-]*\.[a-z/\.\?=]*.#".$number."#'"; 
     $result = $db->prepare($sql); 
     $result->execute(); 
     $result->bind_result($list_id, $list_domains); 
     $result->store_result(); 

现在我想要删除/替换这些列中找到的元素。所以我使用下面的代码:

$sql = "UPDATE list 
     SET list_domains = REPLACE(list_domains, '[\s]*[a-z-]*\.[a-z/\.\?=]*.#".$number."#', '') 
     WHERE list_domains REGEXP '[\s]*[a-z-]*\.[a-z/\.\?=]*.#".$number."#'"; 
     $result = $db->prepare($sql); 
     $result->execute(); 
     $result->store_result(); 

不起作用。我也试过

REPLACE(list_domains, REGEXP '[\s]*[a-z-]*\.[a-z/\.\?=]*.#".$number."#', '') 

REGEXP_REPLACE(list_domains, '[\s]*[a-z-]*\.[a-z/\.\?=]*.#".$number."#', '') 

但这些线路只产生错误。

它是如何使用MySQLi删除/替换规范正则表达式的?

感谢您的每一个建议!

回答