Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Webprogrammeren & scripting

Regular Expressions

Anoniem
Remytje
5 antwoorden
  • Ik wil graag met preg_replace() een CSS class toevoegen aan elke hyperlink welke 'rel="externe-link"' bevat..

    Dus;
    [code:1:c40b9b1716]<a href="http;//www.computertotaal.nl" rel="externe-link">Computer Totaal!</a>[/code:1:c40b9b1716]

    Moet worden:
    [code:1:c40b9b1716]<a href="http;//www.computertotaal.nl" rel="externe-link" class="link-extern">Computer Totaal!</a>[/code:1:c40b9b1716]

    Het probleem is echter dat ik de ballen verstand heb van reguliere expressie's.. Wie o wie kan mij vertellen hoe ik zoiets in de preg_replace() douw???
  • Kun je hiervoor niet veel simpeler een str_replace voor gebruiken?
    Je vervangt gewoon alle instanties van 'rel="externe-link"' met 'rel="externe-link" class="link-extern"'.
  • Waarom zou je een class-attribuut moeten toevoegen in je link? Met CSS kun je deze link al opmaken.

    [code:1:980c18f290]a[rel="externe-link"]
    {
    ….
    }[/code:1:980c18f290]

    -Rémy
  • [quote:325fc56411]Kun je hiervoor niet veel simpeler een str_replace voor gebruiken?
    Je vervangt gewoon alle instanties van 'rel="externe-link"' met 'rel="externe-link" class="link-extern"'.[/quote:325fc56411]

    Daar had ik ook al over nagedacht, maar het schijnt dat regular expressions sneller zijn?

    [code:1:325fc56411]a[rel="externe-link"]
    {
    ….
    }[/code:1:325fc56411]
    Hier ben ik ook al mee bezig geweest, maar volgens mij is dat niet cross-browser.. Als ik me niet vergis zijn dat CSS 3 selectors (corrigeer me alsjeblieft als ik geen gelijk heb)..

    Want, als dat gewerkt had in IE 5.5+ en 6 had ik ook gewoon het volgende kunnen doen:
    [code:1:325fc56411]
    a[href^="http://"] {
    background: transparent url(afbeeldingen/link.gif) 100% 50% no-repeat;
    padding-right: 10px;
    }

    a[href^="http://www.mijn-website.nl/"] {
    background: inherit;
    padding-right: 0;
    }
    [/code:1:325fc56411]

    Helaas werkt bovenstaande enkel in Mozilla browsers en Opera, dus wilde ik hetzelfde bereiken door er automatisch een class aan te hangen..
    Maar misschien zijn er andere ideeen hoe ik dit beter kan oplossen?
  • [quote:d576974604="Stefan Nagtegaal"]Daar had ik ook al over nagedacht, maar het schijnt dat regular expressions sneller zijn?[/quote:d576974604]Volgens mij niet. Regular expressions moeten namelijk nog verwerkt worden voor ze op de text losgelaten kunnen worden…

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.