Jump to content

[SOLVED] Using regex to mask the SSN


fletchsod

Recommended Posts

It's been a while I haven't use regular express, so I need someone with a fresh mind on this one.  There is a SSN that is within the HTML tags or XML tags, so I only need to mask the SSN.  There may be or may not be whitespace(s) between the SSN and the html/xml tags.

 

IE -->  <SSN>111-11-1111</SSN>

    -->  <SSN> 111-11-1111</SSN>

    -->  <SSN> 111-11-1111 </SSN>

    -->  <SSN>    111-11-1111  </SSN>

 

Whatever happens, I need it to become like this...

 

IE --> <SSN>XXX-XX-1111</SSN>

 

Thanks...

Link to comment
https://forums.phpfreaks.com/topic/114891-solved-using-regex-to-mask-the-ssn/
Share on other sites

I recommend an XML parser if you're doing other work; otherwise:

 

<pre>
<?php
$data = <<<DATA
IE -->  <SSN>111-11-1111</SSN>
    -->  <SSN> 111-11-1111</SSN>
    -->  <SSN> 111-11-1111 </SSN>
    -->  <SSN>     111-11-1111  </SSN>
DATA;
$data = preg_replace('%<SSN>\s*\d{3}-\d{2}-(\d{4})\s*</SSN>%', '<SSN>XXX-XX-$1</SSN>', $data);
echo htmlspecialchars($data);
?>
</pre>

Archived

This topic is now archived and is closed to further replies.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.