• Login
  • Register
  • Zoek
This Thread
  • Everywhere
  • This Thread
  • This Forum
  • Articles
  • Pages
  • Forum
  • Filebase Entry
  • More Options

ICTscripters

Dé plek voor IT

Dé plek voor IT

Login

Geavanceerde opties
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Home
  2. Forum
    1. Alle berichten
    2. Recente activiteiten
  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
  9. Goedkope domeinnamen
  1. Dé plek voor IT - ICTscripters
  2. Forum
  3. Scripting & programmeren
  4. PHP + SQL

Forum

  • Op zoek naar de legends

    Syntax 5 januari 2026 om 13:50
  • Na 15 jaar terug van weggeweest: iCriminals.nl is terug (BETA)!

    Syntax 4 januari 2026 om 10:58
  • Developer Gezocht

    K.Rens 30 december 2025 om 12:32
  • [FREE] WeFact Hosting module

    Jeroen.G 13 oktober 2025 om 14:09
  • Help testers nodig voor android app Urgent

    urgentotservices 26 september 2025 om 10:21
  • Versio vervanger

    Jeroen.G 25 augustus 2025 om 15:56
  • Afspraken systeem met planbeperking

    Lijno 1 augustus 2025 om 23:04
  • Partner Gezocht om meerdere NFT Collecties op Open Sea te Plaatsen

    NFT Art Designer 1 maart 2025 om 14:08

Marktplaats

  • 321 Nieuwe Domeinnamen December 2025

    shiga 1 januari 2026 om 10:26
  • Meerdere mafia game template te koop

    Syntax 28 december 2025 om 21:20
  • Van een pixelige afbeelding naar een strakke, moderne website

    Syntax 21 december 2025 om 17:05

[PHP] SEO URL's maken

  • WHMCSAddons
  • 17 november 2013 om 22:11
  • WHMCSAddons
    Master
    Ontvangen Reacties
    88
    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!

  • Guest, wil je besparen op je domeinnamen? (ad)
  • Cas
    Imexa
    Ontvangen Reacties
    5
    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
    Master
    Ontvangen Reacties
    88
    Berichten
    2.411
    • 17 november 2013 om 22:21
    • #3

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

  • Tim
    Enlightened
    Ontvangen Reacties
    77
    Berichten
    3.686
    • 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
    Ontvangen Reacties
    5
    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
    Master
    Ontvangen Reacties
    88
    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
    Ontvangen Reacties
    5
    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
    Master
    Ontvangen Reacties
    88
    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
    Ontvangen Reacties
    31
    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);
    }
    Toon Meer

    Dit was mijn spreekbeurt, zijn er nog vragen?

  • jopitan
    Professional
    Berichten
    684
    • 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
    Master
    Ontvangen Reacties
    88
    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
    684
    • 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

Participate now!

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

Maak een account aan Login

ICT Nieuws

  • Fijne feestdagen

    tcbhome 28 december 2025 om 13:55
  • Kritieke update voor Really Simple Security-plug-in

    K.Rens 16 november 2024 om 16:12
  • ING Nederland streeft naar ondersteuning van Google Pay tegen eind februari

    K.Rens 2 november 2024 om 16:09

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

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