Letzteres. Aber auch für Dein Verständnis wäre es sinnvoll, darüber mal genau nachzudenken und es zu formulieren. Denn dann hat man schon fast den Ausdruck.
Ankündigung
Einklappen
Keine Ankündigung bisher.
Regex - bestimmtes Muster erkennen
Einklappen
Neue Werbung 2019
Einklappen
X
-
[COLOR="#F5F5FF"]--[/COLOR]
[COLOR="Gray"][SIZE="6"][FONT="Georgia"][B]^^ O.O[/B][/FONT] [/SIZE]
„Emoticons machen einen Beitrag etwas freundlicher. Deine wirken zwar fachlich richtig sein, aber meist ziemlich uninteressant.
[URL="http://www.php.de/javascript-ajax-und-mehr/107400-draggable-sorttable-setattribute.html#post788799"][B]Wenn man nur Text sieht, haben viele junge Entwickler keine interesse, diese stumpfen Texte zu lesen.“[/B][/URL][/COLOR]
[COLOR="#F5F5FF"]
--[/COLOR]
-
Zuletzt geändert von fireweasel; 26.07.2011, 11:32.Zitat von fab Beitrag anzeigengenau das war ja gefragt.
Wo kann ich unterschreiben?
--
PHP-Code:/// version 0.0 (2011-07-24)
/// convert move-notation strings (for Rubik's Cube) into HTML-Links
/// return str() with html-escaped input
function linkify_rc_move_notation(
$raw_txt,
$html_template = '<a href="http://alg.garron.us/?alg=%s&animtype=solve">%s</a>'
) {
// note: does not support Heise notation
// <http://www.ryanheise.com/cube/speed.html>
return preg_replace_callback(
'/ # use subroutines for less copy-n-paste
(?(DEFINE)(?<move> (?:[lrfbudxyz]|[LRFBUD]w?)\x27?2? ))
(?<=\s|\A)
(?:
\s*\x28(?&move)\s*(?:\s+(?&move))+\s*\x29\s*| # with braces
(?&move)(?:\s+(?&move))+ # without braces
)+
(?=\s|\z)
/x',
// needs PHP >= 5.3
function($h) use ($html_template) {
return sprintf(
$html_template,
htmlspecialchars(
rawurlencode( // it's part of an URL
strtr(
preg_replace( // shorten whitespace
'/\s*([\x28\x29\s])\s*/',
'$1',
$h[0]
),
"\x27 \x10\x13", // convert special characters
'-_' // into their URL-equivalents
)
),
ENT_QUOTES
),
htmlspecialchars($h[0], ENT_QUOTES)
);
},
$raw_txt
);
}
// example use:
echo linkify_rc_move_notation(
'blablab (F U D) blubb gaga buddy gogo B U D D y\' tralafitti.'
);
Bei mir hats funktioniert. Allerdings habe ich nicht gewusst, dass es auch noch eine "Heise-Notation" gibt, deren Syntax leicht abweicht. Außerdem habe ich keine exakte Definition der URL-Umwandlung gefunden (nur ein paar URLs per Google und "allinurl:"). Das Ganze ist also sicher noch ausbaufähig und eher als "Technologie-Demo" zu betrachten.Wenn man die Wurst schräg anschneidet, hält sie länger, weil die Scheiben größer sind.
Kommentar
Kommentar