• Inloggen
  • Registreer
  • Zoeken
Dit topic
  • Overal
  • Dit topic
  • Dit forum
  • Artikelen
  • Pagina's
  • Forum
  • Downloads
  • Meer opties

ICTscripters

Dé plek voor IT

Dé plek voor IT

Aanmelden

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
    3. Onopgeloste topics
  3. ICT Nieuws
  4. Blog
  5. Marktplaats
    1. Werk
    2. Advertenties
    3. Domeinnamen
    4. Websites
    5. Design & lay-outs
    6. Scripts
    7. Overige
  6. Design
  7. Leden
    1. Actieve bezoekers
    2. Team
    3. Leden zoeken
  8. Downloads
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • [Beta] Ottomaan: gratis browserspel met een echte, levende stad. Feedback gezocht!

    frio 27 oktober 2026 om 12:22
  • Port Father: beta van een browsergame in Antwerpen 1931, feedback welkom

    Jeroen.G 26 oktober 2026 om 10:33
  • Maffia Hotel: een browsergame waarin je van lobbygast naar spil van het hotel groeit

    eeyk 22 oktober 2026 om 18:43
  • Crime Club volledig herschreven vanaf nul

    frio 19 oktober 2026 om 23:57
  • Malavita (nieuwe maffia game, van 0)

    jos 19 oktober 2026 om 23:18
  • Herkent deze Notion-structuurscan echte problemen?

    Jeroen.G 19 oktober 2026 om 15:09
  • 🚀 WE ZOEKEN TESTERS! 🚀

    Servertjee 3 oktober 2026 om 10:56
  • Luchtvaartsoftware: Hoe technologie de moderne luchtvaart verandert

    saggy2829 30 september 2026 om 19:31

Marktplaats

  • [Aanbod] Stadskaart voor je browsergame: van menu naar klikbare stad, vanaf €200

    frio 29 oktober 2026 om 18:17
  • [Verkoop] G4G (Gangsters 4 Gangsters): volledige broncode, nieuw gebouwd in PHP 8.3 | € 30 per domein

    frio 27 oktober 2026 om 18:54
  • [TE KOOP] Malavita.be [Maffiaspel, gebaseerd op omicidio.nl, unieke code]

    Dpm_x 26 oktober 2026 om 00:22

[PHP] SEO URL's maken

  • WHMCSAddons
  • 17 november 2013 om 22:11
  • WHMCSAddons
    Meester
    Berichten
    2.411
    • 17 november 2013 om 22:11
    • #1

    Hi,

    Ik ben bezig om de URL's van me project te herschrijven, deze worden opgepakt vanuit een ingaven die de gebruiker kan geven.
    Het is dus niet zo dat de titel altijd hetzelfde kan zijn.

    Me code is nu als volgt:

    PHP
    function cleanURL( $string ) {
    	$clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);
    	$clean = preg_replace("/[\/_|+ -]+/", '-', $clean);
    	$clean = strtolower(trim($clean, '-'));
    	
    	return $clean;
    }

    Echter merkte ik net op dat bepaalde tekens niet omgezet worden maar direct eruit gesloopt worden.

    Als voorbeeld:

    • é
    • ë
    • á
    • ä
    • ú
    • ü


    enzovoort...


    Nu heb ik via php.net gezocht naar de iconv functie, deze werkt echter niet helemaal perfect.
    Heeft iemand een tip of ervaring om zoiets voor elkaar te krijgen?

    Alvast bedankt!

  • Gast, wil je besparen op je domeinnamen? (ad)
  • Cas
    Imexa
    Berichten
    1.471
    • 17 november 2013 om 22:20
    • #2

    In welke zin werkt iconv niet perfect? Je moet het in ieder geval op de volgende methode gebruiken:

    PHP
    function cleanURL( $string ){
    
    
        $clean = iconv( "utf-8", "ascii//TRANSLIT", $string );
        $clean = preg_replace( "/[^a-zA-Z0-9\/_|+ -]/", '', $clean );
        $clean = preg_replace( "/[\/_|+ -]+/", '-', $clean );
        $clean = strtolower( trim($clean, '-' ) );
        
        return $clean;
    }

    Grafisch en interactief ontwerper & Wordpress specialist

  • WHMCSAddons
    Meester
    Berichten
    2.411
    • 17 november 2013 om 22:21
    • #3

    Cas
    Omdat de é compleet uit de URL gehaald wordt en niet wordt omgezet.

  • Tim
    Expert
    Berichten
    3.684
    • 17 november 2013 om 22:29
    • #4

    Hallo,

    Misschien:
    http://www.php.net/manual/en/func…rt-encoding.php
    of:
    http://www.php.net/manual/en/function.recode-string.php

    Kijk anders hoe bijv. Wordpress dit doet.

    Mvg,
    Tim

    Master student IT-recht en Master student Ondernemingsrecht & software ingenieur
    My Personal profile
    My professional profile (LinkedIn/CV)

  • Cas
    Imexa
    Berichten
    1.471
    • 17 november 2013 om 22:43
    • #5

    Let op, dit staat op de PHP.NET pagina over Iconv:

    Citaat


    Please note that iconv('UTF-8', 'ASCII//TRANSLIT', ...) doesn't work properly when locale category LC_CTYPE is set to C or POSIX.

    Grafisch en interactief ontwerper & Wordpress specialist

  • WHMCSAddons
    Meester
    Berichten
    2.411
    • 17 november 2013 om 22:53
    • #6
    Citaat van Cas

    Let op, dit staat op de PHP.NET pagina over Iconv:

    Stond al ingesteld, had dit inderdaad ook gelezen, maar werkt nog steeds niet.

  • Cas
    Imexa
    Berichten
    1.471
    • 17 november 2013 om 22:56
    • #7

    Dan moet je even de volgende url bekijken, het antwoord van ArteFacto gaat je vast en zeker helpen.

    http://stackoverflow.com/questions/5048…t-translit-work

    Grafisch en interactief ontwerper & Wordpress specialist

  • WHMCSAddons
    Meester
    Berichten
    2.411
    • 17 november 2013 om 22:57
    • #8
    Citaat van Cas

    Dan moet je even de volgende url bekijken, het antwoord van ArteFacto gaat je vast en zeker helpen.

    http://stackoverflow.com/questions/5048…t-translit-work

    Thnx ga hier eens rustig naar kijken ;)

  • M.Beers
    Elite members
    Berichten
    460
    • 17 november 2013 om 23:26
    • #9

    Ik zelf gebruik altijd deze onderstaande functies ooit is geschreven en werken prima alleen nooit op karakters als é enzo geprobeerd

    PHP
    /**
     * Humanize a string.
     */
    function humanize($string, $separator = '_')
    {
        return ucwords(preg_replace('/[' . $separator . ']+/', ' ', strtolower(trim($string))));
    }
    
    
    /**
     * Filter a valid UTF-8 string so that it contains only words, numbers,
     * dashes, underscores, periods, and spaces
     *
     * @param string $string String to clean.
     * @param boolean $spaces Whether to allow spaces.
     * @return string
     */
    function sanitize($string, $spaces = true)
    {
        $search = array(
            '/[^\w\-\. ]+/u', // Remove non safe characters
            '/\s\s+/', // Remove extra whitespace
            '/\.\.+/',
            '/--+/',
            '/__+/' // Remove duplicate symbols
                );
    
    
        $string = preg_replace($search, array(
            ' ',
            ' ',
            '.',
            '-',
            '_'), $string);
    
    
        if (!$spaces)
        {
            $string = preg_replace('/--+/', '-', str_replace(' ', '-', $string));
        }
    
    
        return trim($string, '-._ ');
    }
    
    
    /**
     * Filter a valid UTF-8 string to a SEO friendly URL.
     *
     * @param string $string String to clean.
     * @param boolean $spaces Whether to allow spaces.
     * @return string
     */
    function sanitize_url($string)
    {
        return urlencode(mb_strtolower(sanitize($string, false)));
    }
    
    
    /**
     * Filter a valid UTF-8 string to be file name safe.
     *
     * @param string $string String to clean.
     * @return string
     */
    function sanitize_filename($string)
    {
        return sanitize($string, false);
    }
    Meer tonen

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • jopitan
    Professional
    Berichten
    683
    • 18 november 2013 om 00:44
    • #10

    Inplaats van dit:

    PHP
    $clean = preg_replace("/[^a-zA-Z0-9\/_|+ -]/", '', $clean);

    Dit doen:

    PHP
    $clean = preg_replace("/[^\W\d\w\/_|+ -]/", '', $string);

    \W = alle speciale karakters
    \d = alle getallen
    \w = alle normale karakters

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

  • WHMCSAddons
    Meester
    Berichten
    2.411
    • 18 november 2013 om 00:54
    • #11

    M.Beers
    Bedankt voor het delen, deze werkt echter niet op de é teken (als voorbeeld).

    jopitan
    Bedankt, echter is het niet de bedoeling dat een é in een URL komt, deze moet dus omgezet worden in een normalen e.


    Edit:
    Eindelijk gevonden waar ik naar opzoek was, onderstaande blog heeft mijn probleem opgelost!

    http://iamseanmurphy.com/creating-seo-f…-with-url-slug/

    Bewerkt één keer, laatst door WHMCSAddons (18 november 2013 om 01:17).

  • NielsB
    Junior (Web)Developer
    Berichten
    948
    • 18 november 2013 om 09:33
    • #12

    [offtopic]Van een tijd geleden, weer is een keer terug gekomen om hier op te reageren[/offtopic]

    Een tip voor de volgende keer, je preg_replace (Perform a regular expression search and replace) die zorgt er voor dat hij alle tekens behalve je a t/m z en A t/m Z vermijdt en verwijdert uit je string. Wat jij dus eigenlijk nodig had was het zoeken en het vervangen van speciale tekens. Hiervoor gebruik je dus de str_replace ( Replace all occurrences of the search string with the replacement string )

    Dus voor mensen die nog meer problemen hebben of dit netjes willen doen. Gebruik een str_replace voor het zoeken van speciale tekens en vervang deze!! Zelf heb ik altijd problemen gehad met iconv en al dat soort functions.

    School
    Tweedejaars Informatica Student @ Hogeschool Rotterdam.

    Webtalen
    - PHP ( OOP )
    - SQL
    - JavaScript i.c.m. jQuery framework
    - (x)HTML
    - CSS
    - Actionscript
    - XML

    Programmeertalen
    - Java
    - C#
    - Ruby i.c.m. on Rails framework

  • jopitan
    Professional
    Berichten
    683
    • 18 november 2013 om 14:52
    • #13
    Citaat van Wmdiensten


    jopitan
    Bedankt, echter is het niet de bedoeling dat een é in een URL komt, deze moet dus omgezet worden in een normalen e.

    Edit:
    Eindelijk gevonden waar ik naar opzoek was, onderstaande blog heeft mijn probleem opgelost!

    http://iamseanmurphy.com/creating-seo-f…-with-url-slug/

    Ah okay! Ik dacht aan de hand van je bericht dat het je ging dat de é en de andere speciale karakters eruit worden gefilterd terwijl dat niet zo moest zijn.
    Gelukkig heb je de oplossing gevonden!

    Kast: HAF922 | CPU: I7-930 @ 4.0GHz | CPU Cooler: Noctua NH-D14 | HDD0: Crucial M4 128GB, HDD1: Kingston SSD 64GB, HDD2/3: WD Black & Green 1TB, HDD4: Seagate 1.5TB | Mem: Kingston HyperX 12GB @ 1600MHz | Graphics: Crossfire HD6970 | Res: 5760x1080

Registratie

Nog geen account? Registreer je nu en word deel van onze community!

Nu registreren Aanmelden

ICT Nieuws

  • PHP waarschuwt voor twee ernstige bugs die makkelijk uit te buiten lijken

    Aaron 22 oktober 2026 om 22:19

Blogs

  • Functioneel ontwerp

    Dees 28 december 2014 om 12:38
  • Access Control List implementatie in PHP/MySQL - deel 1/2

    FangorN 28 december 2018 om 12:35
  • Access Control List implementatie in PHP/MySQL - deel 2/2

    FangorN 29 december 2018 om 12:37

Gebruikers die dit topic bekijken

  • 4 Gasten
  1. Marktplaats
  2. Design
  3. Voorwaarden
  4. Ons team
  5. Leden
  6. Geschiedenis
  7. Regels
  8. Links
  9. Privacyverklaring
  10. Contact
ICTscripters ©2005 - 2026 , goedkope hosting door DiMoWeb.com, BE0558.915.582
Sponsors: Beste kattenhotel provincie Antwerpen
Style: Nexus by cls-design
Stylename
Nexus
Manufacturer
cls-design
Licence
Commercial styles
Help
Supportforum
Visit cls-design