6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)
  • Q:
    Bijdrager
    computer space

    Hoe een backslash in een PHP string array opnemen?

    Ik wil een zoek/vervang regel maken in PHP om normale tekens om te zetten naar fixed-width. Daarbij wil ik ook de backslash converteren. Maar PHP geeft een blanke pagina als ik m in de array toevoeg (error). Ik heb het met dubbele slashes en met enkele haakjes geprobeerd, maar beide helpen niet.

    <br />
    $roman = array("/","[","]","\\");<br />
    $fixedwidth = array("?","?","?,"?");<br />
     
    <br />
    $roman = array("/","[","]",'\');<br />
    $fixedwidth = array("?","?","?,"?");<br />
     

    Beide oplossingen werken niet. Hoe moet ik het wel doen?

    Bijdrager
    sjoerdl

    Als je er een spatie achter invoegt werkt het wel.

    <br />
    $roman = array("/","[","]","\ ");<br />
    echo $roman[2];<br />
     
    Bijdrager
    computer space

    Ja maar ik wil slashes vervangen door de brede fixed-width versies. Nu gaat ie alleen een combi van slash en spatie vervangen.

    Bijdrager
    Raymon

    Dit is een simpele functie waar je de array door kan halen, zodat ze slashes worden vervangen.

    <br />
    function replaceslashes($str) {<br />
            $str = str_replace('/', '?', $str);<br />
            $str = str_replace('\\', '?', $str);<br />
            return $str;<br />
    }<br />
     

    Bijvoorbeeld:

    <br />
    $roman = replaceslashes(array("/","[","]","\\"));<br />
     
    Bijdrager
    computer space

    Dus enkele aanhalingstekens met dubbele backslash moet werken?

    Bijdrager
    Raymon

    Die dubbele backslash is nodig omdat anders de aanhalingstekens die de array afsluiten ook worden meegenomen in de array, wat natuurlijk niet de bedoeling is.
    Want PHP denkt dan dat de array niet afgesloten is.

6 berichten aan het bekijken - 1 tot 6 (van in totaal 6)

Je moet ingelogd zijn om een reactie op dit onderwerp te kunnen geven.