Code: Alles auswählen
$patterns[] = '#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is';
$replacements[] = '<a href="' . \${1} . '" target="_blank">' . \${2} . '</a>';
Danke!
Code: Alles auswählen
$patterns[] = '#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is';
$replacements[] = '<a href="' . \${1} . '" target="_blank">' . \${2} . '</a>';
Code: Alles auswählen
$patterns[] = '#\[url=([\w]+?://[\w\#$%&~/.\-;:=,?@\[\]+]*?)\]([^?\n\r\t].*?)\[/url\]#is';
$replacements[] = '<a href="' . \\1 . '" target="_blank">' . \\2 . '</a>';
Code: Alles auswählen
<a href="1" target="_blank">2</a>
Code: Alles auswählen
Notice: Undefined variable: 1 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Notice: Undefined variable: 2 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Notice: Undefined variable: 1 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Notice: Undefined variable: 2 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Code: Alles auswählen
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /www/usersites/m-r/mx-forums/pub/v2/includes/functions.php on line 71
Code: Alles auswählen
$replacements = "<a href=\"\${1}\" target=\"_blank\">\${2}</a>";
Code: Alles auswählen
AmigaLink.de war ursprünglich ein Original phpBB Vanilla Board zur Demonstration meines <a href="viewtopic.php?t=6" title="easyUCP">easyUCP MODs</a>. Welcher wiederum nur entstanden ist, weil ich -für mein <a href="Http://www.essenmitfreude.info" target="_blank" title="Essen mit Freude">EmF</a> Board- keine Profilbearbeitung gefunden habe, die dem User Übersichtlichkeit bietet ohne dem Admin das Leben unnötig schwer zu machen. Also ein einfaches UCP das nicht überladen und weitestgehend Kompatibel zu vorhandenen und zukünftigen Profil-MODs ist.
Code: Alles auswählen
$text = preg_replace('!<a href="(.*?)" target="_blank" title="(.*?)">(.*?)</a>!', '<a href="\\1" target="_blank" title="\\2" alt="\\2"><img src="images/ext_link.gif" border="0" alt="\\2" title="\\2"> \\3</a>', $text); // extern
# $text = preg_replace('!<a href="(.*?)" title="(.*?)">(.*?)</a>!', '<a href="\\1" target="_self" alt="\\2" title="\\2"><img src="images/intern_link.gif" border="0" alt="\\2" title="\\2"> \\3</a>', $text); // intern
Code: Alles auswählen
<a href="(.*?)"
Verstanden?Standardmäßig versuchen die Quantifier, auf einen so großen Text wie möglich zu passen. Dies kann zu Problemen führen: Angenommen es liegt eine Zeichenkettevor, und wir möchten darausCode: Alles auswählen
$str = "[b]text[/b]text[b]text[/b]"
machen. Versuchen wir es folgendermaßen:Code: Alles auswählen
"<b>text</b>text<b>text</b>"
so erhalten wir als ErgebnisCode: Alles auswählen
$str = preg_replace("!\[b\](.*)\[/b\]!","<b>text</b>",$str);
- nicht ganz das, was wir wollten. Um dieses Verhalten abzustellen, setzen wir hinter den Quantifier ein Fragezeichen "?":Code: Alles auswählen
"<b>text[/b]text[b]text</b>"
und das gewünschte Ergebnis ist erreicht!Code: Alles auswählen
$str = preg_replace("!\[b\](.*?)\[/b\]!","<b>text</b>",$str);
Code: Alles auswählen
$pattern1 = "/<a href=\"((?=http:\/\/|www)[a-z0-9:\/.\?\=]+?)\".*?title=\"(.*?)\".*?>(.*?)<\/a>/i";
$pattern2 = "/<a href=\"((?!http:\/\/)(?!www)[a-z0-9:\/.\?\=]+?)\".*?title=\"(.*?)\".*?>(.*?)<\/a>/i";
$replacement1 = "<a href=\"\\1\" title=\"\\2\" alt=\"\\2\" target=\"_blank\" /><img src=\"images/ext_link.gif\" border=\"0\" alt=\"\\2\" title=\"\\2\" />\\3</a>";
$replacement2 = "<a href=\"\\1\" title=\"\\2\" alt=\"\\2\" target=\"_self\" /><img src=\"images/intern_link.gif\" border=\"0\" alt=\"\\2\" title=\"\\2\" />\\3</a>";
$text = preg_replace($pattern1, $replacement1 , $text);
$text = preg_replace($pattern2, $replacement2, $text);
Code: Alles auswählen
$patterns[] = '#\[code](.*?)\