PHP:
Fjerne anførselstegn fra en streng
Hvordan:
Her er et enkelt eksempel som bruker PHPs innebygde funksjoner:
$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = str_replace(array("'", "\""), '', $quotedString);
echo $unquotedString; // Skriver ut: Hello, she said, Its a fine day!
Enkelt, ikke sant? Denne str_replace()
funksjonen tar en rekke med tegn som skal fjernes fra strengen, inkludert både enkle og doble anførselstegn.
Dykk dypere
Tilbake i PHPs tidlige dager måtte utviklere være ekstra forsiktige med anførselstegn i tekststrenger, spesielt når de satte inn data i en database. Feilhåndterte anførselstegn kunne føre til SQL-injeksjonsangrep. Der kom magiske anførselstegn inn, en funksjon som auto-escaped inndata. Den ble avskaffet og til slutt fjernet fordi den oppmuntret til dårlige kodingspraksiser og sikkerhetsproblemer.
Nå bruker vi funksjoner som str_replace()
eller regex med preg_replace()
for mer avanserte mønstre. Her er et regex-eksempel:
$quotedString = "'Hello,' she said, \"It's a fine day!\"";
$unquotedString = preg_replace('/[\'"]/', '', $quotedString);
echo $unquotedString;
For JSON-data kan du bruke json_encode()
med alternativer som JSON_UNESCAPED_SLASHES | JSON_UNESCAPED_UNICODE
for å unngå ekstra skråstreker i anførselstegnene dine.
Når du implementerer, tenk på kanttilfeller. Hva om strengen din er ment å ha visse anførselstegn, som dialog i en historie eller tommer i målinger? Kontekst betyr noe, så skreddersy fjerningen av anførselstegn til dataens tiltenkte bruk.