HTMLPurifier defangs arbitrary submitted HTML. We're using it in the OStatus plugin, but it may be valuable for other parts of the codebase (I think OEmbed might benefit, for example).
22 lines
639 B
PHP
22 lines
639 B
PHP
<?php
|
|
|
|
/**
|
|
* Primitive email validation class based on the regexp found at
|
|
* http://www.regular-expressions.info/email.html
|
|
*/
|
|
class HTMLPurifier_AttrDef_URI_Email_SimpleCheck extends HTMLPurifier_AttrDef_URI_Email
|
|
{
|
|
|
|
public function validate($string, $config, $context) {
|
|
// no support for named mailboxes i.e. "Bob <bob@example.com>"
|
|
// that needs more percent encoding to be done
|
|
if ($string == '') return false;
|
|
$string = trim($string);
|
|
$result = preg_match('/^[A-Z0-9._%-]+@[A-Z0-9.-]+\.[A-Z]{2,4}$/i', $string);
|
|
return $result ? $string : false;
|
|
}
|
|
|
|
}
|
|
|
|
// vim: et sw=4 sts=4
|