Ankündigung

Einklappen
Keine Ankündigung bisher.

hilfe bei preg_replace

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • hilfe bei preg_replace

    ich habe folgendes in meiner shoutbox um links als klickbare links zu ersetzten
    PHP-Code:
    $text $row['message'];

    //Aus http://url wird [URL]http://url[/URL]
    $urlsuch[]="/([^]_a-z0-9-=\"'\/])((https?|ftp):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si";
    $urlsuch[]="/^((https?|ftp):\/\/|www\.)([^ \r\n\(\)\^\$!`\"'\|\[\]\{\}<>]*)/si";

    $urlreplace[]="\\1[URL]\\2\\4[/URL]";
    $urlreplace[]="[URL]\\1\\3[/URL]";

    //Aus [email]klaus@mustermann.de[/email] wird [EMAIL]klaus@mustermann.de [/EMAIL]
    $emailsuch[]="/([\s])([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";
    $emailsuch[]="/^([_a-zA-Z0-9-]+(\.[_a-zA-Z0-9-]+)*@[a-zA-Z0-9-]+(\.[a-zA-Z0-9-]+)*(\.[a-zA-Z]{2,}))/si";

    $emailreplace[]="\\1[EMAIL]\\2[/EMAIL]";

    $emailreplace[]="[EMAIL]\\0[/EMAIL]";

    $text preg_replace($urlsuch$urlreplace$text);
    if (
    strpos($text"@"))
        {
        
    $text preg_replace($emailsuch$emailreplace$text);
        }
        
    $host  $_SERVER['HTTP_HOST'];
    $uri  rtrim(dirname($_SERVER['PHP_SELF']), '/\\');    
        
        
    $pfad "/e107_plugins/shoutbox/system/";

    //Die URL's werden zu Links
    $text preg_replace("/\[URL\]www.(.*?)\[\/URL\]/si""<a target=\"_blank\" title=\"http://www.\\1\"href=\"http://www.\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>"$text);

    $text preg_replace("/\[URL\](.*?)\[\/URL\]/si""<a target=\"_blank\"title=\"http://www.\\1\" href=\"\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>"$text);

    $text preg_replace("/\[URL=www.(.*?)\](.*?)\[\/URL\]/si""<a target=\"title=\"http://www.\\1\"_blank\" href=\"http://www.\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>"$text);

    $text preg_replace("/\[URL=(.*?)\](.*?)\[\/URL\]/si""<a target=\"_blank\" title=\"http://www.\\1\"href=\"\\1\"><img src=\"http://".$host."".$uri."/system/link.png\" width=\"32\" height=\"32\"></a>"$text);

    //E-Mail Adressen werden zu links
    $text preg_replace("/\[EMAIL\](.*?)\[\/EMAIL\]/si""<a title=\"mailto:\\1\"href=\"mailto:\\1\"><img src=\"http://".$host."".$uri."/system/mail.png\" width=\"32\" height=\"32\"></a>"$text);

    $text preg_replace("/\[EMAIL=(.*?)\](.*?)\[\/EMAIL\]/si""<a title=\"mailto:\\1\"href=\"mailto:\\1\"><img src=\"http://".$host."".$uri."/system/mail.png\" width=\"32\" height=\"32\"></a>"$text);

    //[IMG]bild.jpg[/IMG] wird als Bild angezeigt
    $text preg_replace("/\[IMG\](.*?)\[\/IMG\]/si""<img src=\"\\1\" border=\"0\"style=\"width:32px\">"$text); 
    das geht alles wunderbar nun habe ich smilis eingebaut

    direkt unter den letzten oben genannten code
    PHP-Code:
    //smily abruf und replace
    $sql2 "SELECT * FROM ".MPREFIX."shoutbox_smilys";
    $result2 mysql_query($sql2);
    while(
    $row2 mysql_fetch_object($result2))
    {
      
    $text str_replace($row2->coding,"<img src='".$row2->smile."'>"$text);
    }
    //ende smilys
                    
    $result .= "<li class='shout'><strong>".$row['user']."</strong><br />".$text." <br /><span class=\"date\">".$row['date']."</span></li>"
    das geht alles soweit nur leider geht es nicht mehr wenn ich ein link eintrage wenn ich das so in das text feld eingebe

    PHP-Code:
    http://127.1.1.0/e107/news.php 
    kommt so ein quatsch dabei raus

    PHP-Code:
    <a href="http://www.&lt;img src='e107_plugins/shoutbox/smilies/lazycrasy/32 (11).png'&gt;is-e107.de/theme/news.php" title="http://www.http://www.&lt;img src='e107_plugins/shoutbox/smilies/lazycrasy/32 (11).png'&gt;is-e107.de/theme/news.php" target="_blank"><img width="32" height="32" src="http://127.1.1.0/e107/e107_plugins/shoutbox/system/link.png"></a

    er mix das alles

    die smilys werden mit kompletten link eingetragen

    das heist er wandelt ja den code in
    PHP-Code:
    <img src='".$row2->smile."'
    um.

    das $row2->smile ist in der datenbank so :
    PHP-Code:
    http://www.hupsis-e107.de/theme/e107_plugins/shoutbox/smilies/lazycrasy/32 (6).png 
    ich brauche dort den vollen link

    nur leider baut er den nun mitten in den href ein ?

    ich hoffe ihr habt mein problem verstanden wo oder wie kann ich das ändern ****

    die smilys gehen super da hab ich kein problem

  • #2
    Nö, er wandelt einfach ‘hups’ um.
    [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]

    Kommentar


    • #3
      ?? wie meinen ??

      Kommentar


      • #4
        Du hast einen Smiley "hups" und "hups" in deiner URL. Sieh zu, dass du die Ersetzungen in der richtigen Reihenfolge machst und Smileys z.B. nicht innerhalb von HTML-Attributen ersetzt. Oder verzichte einfach darauf, Wörter zu Smileys zu machen (üblich ist da eher so etwas: :hups: )
        [IMG]https://g.twimg.com/twitter-bird-16x16.png[/IMG][URL="https://twitter.com/fschmengler"]@fschmengler[/URL] - [IMG]https://i.stack.imgur.com/qh235.png[/IMG][URL="https://stackoverflow.com/users/664108/fschmengler"]@fschmengler[/URL] - [IMG]http://i.imgur.com/ZEqflLv.png[/IMG] [URL="https://github.com/schmengler/"]@schmengler[/URL]
        [URL="http://www.schmengler-se.de/"]PHP Blog[/URL] - [URL="http://www.schmengler-se.de/magento-entwicklung/"]Magento Entwicklung[/URL] - [URL="http://www.css3d.net/"]CSS Ribbon Generator[/URL]

        Kommentar

        Lädt...
        X