bin eigentlich reiner php programmierer, habe schon anderes versucht (ja acuh c++), aber bin nirgendwo hängen geblieben. (s)printf() ist ne nützliche funktion, hab ich mir halt angewöhnt die zu benutzen, ist aber glaube ich ursprünglich ein perl funktion, ist ja auch egal.
hab die funktion für interne links in beiträgen verbessert:
PHP
<?php
function nub_internal_link_callback($matches)
{
$id = trim($matches[3]);
$post_or_page = trim($matches[1]);
$label = trim($matches[4]);
switch(strToLower($post_or_page))
{
default:
case 'post':
$id = is_numeric($id) ? (int) $id : get_the_id();
$uri = get_permalink($id);
$label = $label ? $label : get_the_title($id);
break;
case 'page':
$id = is_numeric($id) ? (int) $id : get_the_id();
$uri = get_page_link($id);
$label = $label ? $label : get_the_title($id);
break;
case 'uri':
$id = $id ? $id : str_replace(str_replace(basename($_SERVER['PHP_SELF']), '', $_SERVER['PHP_SELF']), '', $_SERVER['REQUEST_URI']);
$uri = get_bloginfo('wpurl') . '/' . $id;
$label = $label ? $label : $uri;
break;
}
$title = $label;
return sprintf('<a href="%s" title="%s">%s</a>', $uri, $title, $label);
}
function nub_internal_link($the_content)
{
static $patterns = array(
'~<a href="(post|page|uri|)(:(.*)|)" rel="internal">(.*)</a>~isU',
);
$the_content = preg_replace_callback($patterns, 'nub_internal_link_callback', $the_content);
return $the_content;
}
add_filter('the_content', 'nub_internal_link', 5);
?>
Alles anzeigen
damit ist jetzt einiges mehr möglich, nämlich das alles:
HTML
Aktueller Post( oder Seite):
<a href="" rel="internal"></a>
Aktueller Post( oder Seite) mit Label:
<a href="" rel="internal">aktueller Post( oder Seite)</a>
Aktueller Post:
<a href="post" rel="internal"></a>
Aktuelle Seite:
<a href="page" rel="internal"></a>
Aktuelle URI:
<a href="uri" rel="internal"></a>
Aktueller Post mit Label:
<a href="post" rel="internal">aktueller Post</a>
Aktuelle Seite mit Label:
<a href="page" rel="internal">aktuelle Seite</a>
Aktuelle URI mit Label:
<a href="uri" rel="internal">aktuelle URI</a>
Anderer Post:
<a href="post:3" rel="internal"></a>
Andere Seite:
<a href="page:1" rel="internal"></a>
Andere URI:
<a href="uri:wp-register.php" rel="internal"></a>
Anderer Post mit Label:
<a href="post:3" rel="internal">anderer post</a>
Andere Seite mit Label:
<a href="page:1" rel="internal">andere seite</a>
Andere URI mit Label:
<a href="uri:wp-register.php" rel="internal">andere uri</a>
Alles anzeigen