Likes Likes:  0
Resultaten 1 tot 4 van de 4
Geen
  1. #1
    Maarten Wierda
    [PHP] Regular Expression voor bewerken interne links
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    [PHP] Regular Expression voor bewerken interne links

    Hallo,

    Ik ben op zoek naar een regular expression die een interne link bewerkt.

    Onderstaande link moet bijvoorbeeld worden aangepast.

    <a href="/dir/folder/#foo"> -> <a href="#foo">

    Met het volgende stukje code kom ik al een heel eind.

    $foo= preg_replace("/href=\"(.*?)#(.*?)\"/", "href=\"#\\2\"", $foo);

    Echter, deze expressie past dit ook onderstaande code aan.

    '<a href="mailto:foo@bar.invalid"><font color="#000000">Naam' in '<a
    href="#000000">Naam'

    Dat klopt natuurlijk ook wel aangezien 'mailto:foo@bar.invalid"><font
    color="#000000' ook onder /iets/ valt.

    Nu wil ik een uitzondering in de expressie toevoegen zodat alleen de
    waarde van het href-attribuut evt. wordt vervangen. Ik zat te denken aan
    het volgende, maar dat levert hetzelfde resultaat op.

    /href=\"(.*?[^(><)])#(.*?)\"/

    Heeft iemand een idee?

    Gr. Maarten Wierda





  2. #2
    Daniel Tryba
    [PHP] Regular Expression voor bewerken interne links
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Regular Expression voor bewerken interne links

    Maarten Wierda <maartenAT@norecessdot.com> wrote:
    > <a href="/dir/folder/#foo"> -> <a href="#foo">
    >
    > Met het volgende stukje code kom ik al een heel eind.
    >
    > $foo= preg_replace("/href=\"(.*?)#(.*?)\"/", "href=\"#\\2\"", $foo);

    [knip]
    > /href=\"(.*?[^(><)])#(.*?)\"/


    /href="[^#"]+(#[^"]*?)"/href="\\1"/ (niet getest)

    Tenminste als alle href netjes door " worden omgeven. Een meer
    omslachtige maar robustere manier zou met een preg_replace_callback
    zijn, match eerst de href en dan de substitute.


  3. #3
    John Bokma
    [PHP] Regular Expression voor bewerken interne links
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Regular Expression voor bewerken interne links

    Maarten Wierda wrote:

    volgende, maar dat levert hetzelfde resultaat op.
    >
    > /href=\"(.*?[^(><)])#(.*?)\"/


    Als die preg dingen echt perl compatible zijn:

    /(href=").+?(#.+?")/$1$2/

    Niet getest e.d. (en net wakker!)

    --
    John Voorbeeldscripts in Perl: http://johnbokma.com/perl/
    Website design: http://johnbokma.com/websitedesign/
    Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
    Tevreden opdrachtgevers: http://castleamber.com/testimonials.html



  4. #4
    Maarten Wierda
    [PHP] Regular Expression voor bewerken interne links
    Gast
    n/a Berichten
    Berichten zijn liked



    Thread Starter

    Re: [PHP] Regular Expression voor bewerken interne links

    Daniel Tryba wrote:

    > [knip]
    >
    >>/href=\"(.*?[^(><)])#(.*?)\"/

    >
    > /href="[^#"]+(#[^"]*?)"/href="\\1"/ (niet getest)


    Bedankt, met deze regexp is 't gelukt.

    Gr. Maarten

Webhostingtalk.nl

Contact

  • Rokin 113-115
  • 1012 KP, Amsterdam
  • Nederland
  • Contact
© Copyright 2001-2026 Webhostingtalk.nl.
Web Statistics