Allow IRIs. Props guillep2k. fixes #4570
git-svn-id: http://svn.automattic.com/wordpress/trunk@8525 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
7c80ab99e2
commit
5ac3c72c22
|
@ -682,8 +682,8 @@ function _make_email_clickable_cb($matches) {
|
|||
function make_clickable($ret) {
|
||||
$ret = ' ' . $ret;
|
||||
// in testing, using arrays here was found to be faster
|
||||
$ret = preg_replace_callback('#([\s>])([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_url_clickable_cb', $ret);
|
||||
$ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_web_ftp_clickable_cb', $ret);
|
||||
$ret = preg_replace_callback('#([\s>])([\w]+?://[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_url_clickable_cb', $ret);
|
||||
$ret = preg_replace_callback('#([\s>])((www|ftp)\.[\w\\x80-\\xff\#$%&~/.\-;:=,?@\[\]+]*)#is', '_make_web_ftp_clickable_cb', $ret);
|
||||
$ret = preg_replace_callback('#([\s>])([.0-9a-z_+-]+)@(([0-9a-z-]+\.)+[0-9a-z]{2,})#i', '_make_email_clickable_cb', $ret);
|
||||
// this one is not in an array because we need it to run last, for cleanup of accidental links within links
|
||||
$ret = preg_replace("#(<a( [^>]+?>|>))<a [^>]+?>([^>]+?)</a></a>#i", "$1$3</a>", $ret);
|
||||
|
@ -1147,7 +1147,7 @@ function clean_url( $url, $protocols = null, $context = 'display' ) {
|
|||
$original_url = $url;
|
||||
|
||||
if ('' == $url) return $url;
|
||||
$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@()]|i', '', $url);
|
||||
$url = preg_replace('|[^a-z0-9-~+_.?#=!&;,/:%@()\\x80-\\xff]|i', '', $url);
|
||||
$strip = array('%0d', '%0a');
|
||||
$url = str_replace($strip, '', $url);
|
||||
$url = str_replace(';//', '://', $url);
|
||||
|
|
Loading…
Reference in New Issue