preg_repl
Daniel
- php
Hallo Forumer,
ich habe eine Funktion und diese Funktion hätte ich gerne etwas umgeformt, allerdings hab ich nichts passendes gefunden, aber ich denke ihr könnt mir da helfen:
function parse_smilie($message, $smilies)
{
static $orig, $repl;
if (!isset($orig))
{
global $db, $board_config;
$orig = $repl = array();
usort($smilies, 'smiley_sort');
for($i = 0; $i < count($smilies); $i++)
{
$orig[] = "/(?<=.\W|\W.|^\W)" . change($smilies[$i]['smilie'], "/") . "(?=.\W|\W.|\W$)/";
$repl[] = '<img src="'. $smilies[$i]['smilie_url'] . '" alt="' . $smilies[$i]['smilie_url'] . '" border="0" />';
}
}
if (count($orig))
{
$message = preg_replace($orig, $repl, ' ' . $message . ' ');
$message = substr($message, 1, -1);
}
return $message;
}
Diese Funktion ersetzt in diesem konkreten Fall in einem Text smilies mit bildern... so jetzt möchte ich das nicht mit Bildern, sondern mit Links machen. Ich habe also ein Satz, diesen Satz parse ich und alle Wörter, die ihc im Array übergeben habe, möchte ich jetzt ersetzen... allerdings soll er hier case-sensitive arbeiten, wenn das möglich ist. Wenn jemand beispielsweise selfhtml schreiben würde, möchte ich, dass dieses mit einem link ersetzt wird beispielsweise <a href="http://selfthml.teamone.de">selfthml</a>. Dies soll aber auch mit SeLfHtmL geschehen und dann mit <a href="http://selfthml.teamone.de">SeLfHtmL</a>. ersetzen...
Tja leider kenn ich mich mit regexp nicht wirklich gut aus.
Da ich leider nicht von euch verlangen kann, dass ihr mir die Arbeit abnimmt meine bitte mir einen kleinen Tipp zu geben und am Besten auch noch ne URL, wo man sich über regexp in deutsch, wenn es geht, informieren kann.
Danke und eine gute Nacht
Daniel
Holladiewaldfee,
allerdings soll er hier case-sensitive arbeiten, wenn das möglich ist
Ja, ist es.
Einfach ein 'i' an den regulären Ausdruck hinten dran, also z.B.
/selfhtml/i findet "selfhtml", "SelfHTML", "SelFhTmL" usw.
Ciao,
Harry
Aloha Harry!!!
Herzlichen Dank!!!
Hättest du jetzt auch noch ne gute Einsteigerdokumentation??? Weil scheint ja schon sehr interessant zu sein.
Danke Danke Danke!!!
CU
Daniel