您的快捷码函数应如下所示:
function replace_url_for_nonlogged( $atts, $content = "") {
if ( is_user_logged_in () ) return $content;
extract( shortcode_atts( array(
\'replace\' => \'http://www.default_replace_url.com\',
), $atts ) );
$pattern = \'/href=("|\\\')((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)("|\\\')/\';
return preg_replace($pattern, "href=\\"$replace\\"", $content);
}
add_shortcode( \'scode\', \'replace_url_for_nonlogged\' );
然后,您可以使用如下短代码:
[scode]Lorem <a href="http://reservedurl.com">ipsum</a> dolor <a href=\'http://resersinglequoted.com\'>simet</a>.[/scode]
结果是:
Lorem <a href="http://www.default_replace_url.com">ipsum</a> dolor <a href="http://www.default_replace_url.com">simet</a>.
替换的url在
replace_url_for_nonlogged
作用
如果需要,可以通过快捷码att传递替换url,例如。
[scode replace="http://www.google.com"]Lorem <a href="http://reservedurl.com">ipsum</a> dolor <a href=\'http://resersinglequoted.com\'>simet</a>.[/scode]
这一次的输出是:
Lorem <a href="http://www.google.com">ipsum</a> dolor <a href="http://www.google.com">simet</a>.
<小时>