У меня есть проблема, что я надеюсь, что, ТАКИМ ОБРАЗОМ сообщество может помочь мне с.
Я пытающийся проанализировать много документов HTML в моем приложении PHP для удаления персональных данных, таких как имена, адреса и номера телефона. Я могу удалить большинство этих деталей без слишком большой проблемы, однако номер телефона является настоящей проблемой для меня.
Моя идея состоит в том, чтобы взять текст из этих документов и использования regex, чтобы определить номера телефона и заменить их другим значением, таким как 'xxxx'.
У меня есть 2 regex, которые я использую один для британских чисел наземной линии и один для британской ячейки/номеров мобильных телефонов.
Однако, когда я пытаюсь выполнить их против текста, он просто возвращает пустую строку.
Я использую следующий код preg_replace:
$pattens = array(
'/^(((\+44\s?\d{4}|\(?0\d{4}\)?)\s?\d{3}\s?\d{3})|((\+44\s?\d{3}|\(?0\d{3}\)?)\s?\d{3}\s?\d{4})|((\+44\s?\d{2}|\(?0\d{2}\)?)\s?\d{4}\s?\d{4}))(\s?\#(\d{4}|\d{3}))?$/',
'/^(\+44\s?7\d{3}|\(?07\d{3}\)?)\s?\d{3}\s?\d{3}$/'
);
$replace = array('xxxxx', 'xxxxx');
//do the search for the numbers.
$updatedContents = preg_replace($pattens, $replace, $htmlContents);
В данный момент это вызывает меня много головы, царапающей, поскольку я думал, что имел, это закрепило, но в данный момент я не вижу что случилось??
Я уверен, что это - что-то действительно простое.
Спасибо,
Предоставление
Вероятно, вы не хотите привязывать свои регулярные выражения. Удалите ^
с начала и $
с конца.