Ankündigung

Einklappen
Keine Ankündigung bisher.

Suchmuster

Einklappen

Neue Werbung 2019

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

  • hunzi
    hat ein Thema erstellt Suchmuster.

    Suchmuster

    hallo erstmal,
    ich habe ein Problem, ich möchte bei gewissen wörter einen Link machen.
    Das geht, mein problem ist, dass es ebenfalls links in html Tags macht und es macht ebenfalls welche in anderen Links drin.

    Code:
    	
    	$inhalt = 'test test'; //einfach html text/code
    	$suchwort = 'test';
    	$link1 = '<span class=\'test\'><a  href=\'index.php\'>';
    	$link2 = '</a></span>';
    	$suchmuster = '/(.*)(' . $suchwort . ')(.*)/e i U';
    	$inhalt = preg_replace($suchmuster, '\'\\1\' . $link1 . \'\\2\' . $link2 . \'\\3\'', $inhalt);
    Kann mir jemand helfen das Suchmuster um das zu erweitern, damit es nicht zwischen hmtl Tags angewendet wird und auch nicht bei Links also bei <a></a> Tags?

    Danke viel mals

    mfg
    hunzi

  • Gast-Avatar
    Ein Gast antwortete
    du brauchst den Modifer e damit du anschliesend durch den gesuchten bereich durch \\1 etc. ersetzten kannst!!!!
    Achso ?
    Wo haste denn das gelesen ?

    EDIT:

    PHP-Code:
    error_reporting(E_ALL);

    $inhalt '[url="index.php"]test[/url] test';
    $suchwort 'test';

    $link1 '<span class="test"><a  href="index.php">';
    $link2 '</a></span>';

    $suchmuster '#<a\b([^>]+)>('.$suchwort.')</a>#isU';

    $inhalt preg_replace($suchmuster"$link1 $2 $link2"$inhalt);

    echo 
    htmlentities($inhalt); 

    Einen Kommentar schreiben:


  • hunzi
    antwortet
    du brauchst den Modifer e damit du anschliesend durch den gesuchten bereich durch \\1 etc. ersetzten kannst!!!!

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete


    Zuwas soll denn der Modifer e gut sein ?

    PS: Kannste rausnehmen ...

    Einen Kommentar schreiben:


  • hunzi
    antwortet
    ür alle die es interessiert: man kann es lösen! Das Suchmuster müsste so aussehen:

    Code:
    $suchmuster = '/(.*<a.*<\/a>)|(<.*\/>)|(.*)(' . $suchwort . ')(.*)/e i U';

    mfg
    hunzi

    Einen Kommentar schreiben:

Lädt...
X