diff --git rules/modules/rules.rules.inc rules/modules/rules.rules.inc
index 4a08771..c92130b 100644
--- rules/modules/rules.rules.inc
+++ rules/modules/rules.rules.inc
@@ -171,7 +171,7 @@ function rules_rules_condition_info() {
  * Condition Implementation: Textual comparison.
  */
 function rules_condition_text_compare($text1, $text2, $settings) {
-  return $settings['regex'] ? ereg($text2, $text1) : $text1 == $text2;
+  return $settings['regex'] ? preg_match("/$text2/", $text1) : $text1 == $text2;
 }
 
 /**
diff --git rules_admin/rules_admin.rule_forms.inc rules_admin/rules_admin.rule_forms.inc
index b2f50fd..7c8148b 100644
--- rules_admin/rules_admin.rule_forms.inc
+++ rules_admin/rules_admin.rule_forms.inc
@@ -734,7 +734,7 @@ function rules_admin_new_variables_form_validate($form, &$form_state) {
     if (isset($variables[ $values['name'] ]) && ($values['name'] != $old_name || !isset($form_state['element']['#id']))) {
       form_set_error(implode('][', array('new', $old_name, 'name')), t('A variable with this name does already exist. Please choose another name.'));
     }
-    if (!eregi('^[0-9a-z_]*$', $values['name'])) {
+    if (!preg_match('/^[0-9a-zA-Z_]*$/', $values['name'])) {
       form_set_error(implode('][', array('new', $old_name, 'name')), t('The name contains not allowed characters.'));
     }
   }
