Avatar billede techboy992 Praktikant
30. maj 2017 - 02:44 Der er 2 kommentarer

preg_replace UTF-8

Hejsa jeg sidder her og prøver at lave en string til links har det næsten men kan ikke få æøå til at være med i et søge ord her er koden

// Url Template
$template = '<a href="http://www.dumbsearch.com/now/searchcompleted.php?q=%1$s">%1$s</a>';

// Replace Words
echo preg_replace("/(?!(?:[^<]+>|[^>]+<\/a>))\b([a-å]+)\b/is", sprintf($template, "\\1"), $str);

Håber nogle kan hjælpe mig med dette lille fix :)
Avatar billede acore Ekspert
30. maj 2017 - 07:52 #1
Har du prøvet at erstatte "[a-å]" med "[a-zæøåÆØÅ]"?
Avatar billede Slater Ekspert
30. maj 2017 - 07:59 #2
Der er to problemer.

1. Hvad acore siger. Du kan ikke sige a-å, for det første fordi æ, ø og å ikke ligger lige efter a-z, for det andet fordi /i ikke korrekt sammenligner dem med deres uppercase version.

2. Din brug af \b. \b er word match, men det betyder sådan set match fra et tegn der matcher \w til et der ikke gør, og \w indeholder ikke danske tegn. Derfor skal du fjerne \b fra udtrykket. Umiddelbart ser det ud til at virke, hvis du bare fjerner begge instanser.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester