Hov. Du er ikke logget ind.
DU SKAL VÆRE LOGGET IND, FOR AT INTERAGERE PÅ DENNE SIDE

PHP kode til at "rense" tekst til javascript string?

Side 1 ud af 1 (7 indlæg)
  • 1
Tilmeldt 12. Jan 12
Indlæg ialt: 81
Skrevet kl. 19:00
Hvor mange stjerner giver du? :

 Hej,

Jeg arbejder på en WordPress side hvor jeg via Google Analytics "custom events" logger diverse events, og en af disse events tager navnet fra blog posten og indsætter i event'en. Men da det er javascript, kan jeg godt forudså et problem hvis der nogensinde kommer blog titler der indeholder f.eks. " og måske også endda danske tegn, eller euro tegnet?

Så derfor håbede jeg at der var en herinde der kendte lidt til PHP, om hvorvidt der er en funktion man kan bruge så man er sikker på at den tekst der ryger ind i javascript'en til Google Analytics, er "ren" nok?

Jeg har prøvet med urlencode()  men det gør desværre teksten ret træls at læse, hvis den indeholder ÆØÅ, da det blir erstattet af en masse tegn. 

Her er selve koden:

onClick="_gaq.push(['_trackEvent', 'event-name-here', 'blog-title-here', '<?php echo urlencode($post->post_title)?>']);"

På forhånd tak.

Fra Odense
Tilmeldt 12. Mar 07
Indlæg ialt: 103
Skrevet kl. 23:54
Hvor mange stjerner giver du? :

Prøv med htmlspecialchars($title) - den konverterer specielle tegn som ", ' osv til html entities - mon ikke Google Analytics selv finde ud af at decode dem når man hopper rundt i data? Jeg tror det :)

Med venlige hilsner
Kim Biesbjerg

Mind-Set.dk - lydbøger til personlig udvikling

Tilmeldt 26. Oct 11
Indlæg ialt: 188
Skrevet kl. 00:15
Hvor mange stjerner giver du? :
jeg ville bruge str_replace og smide et array ind med alle de tegn du vil fjerne.

hvis du vil undgå regex så ville jeg bruge addslashes som smider et \ foran ", ' og NULL-bytes
Fra Aarhus C
Tilmeldt 9. Sep 10
Indlæg ialt: 684
Fra  1337 ApS Skrevet kl. 02:53
Hvor mange stjerner giver du? :
Tilmeldt 12. Jan 12
Indlæg ialt: 81
Skrevet kl. 10:23
Hvor mange stjerner giver du? :

Mange tak for jeres svar.

Jeg valgte at bruge WP's egen funktion esc_attr()  - den skal jeg nok få meget glæde af fremover :)

Fra København
Tilmeldt 1. Jun 06
Indlæg ialt: 6114
Fra  Mikjaer Consulting ApS Skrevet kl. 12:12
Hvor mange stjerner giver du? :
Gennemsnit 5,0 stjerner givet af 1 person

SkandiSoftware:
jeg ville bruge str_replace og smide et array ind med alle de tegn du vil fjerne.

Det var dog en kluntet (og fundamentalt forkert) tilgang til problemstillingen ... Det korrekte er selvfølgelig et array med alle de tegn du vil _tillade_ :-)

Tilmeldt 26. Oct 11
Indlæg ialt: 188
Skrevet kl. 12:20
Hvor mange stjerner giver du? :

Mikkel Mikjær Christensen:
Det var dog en kluntet (og fundamentalt forkert) tilgang til problemstillingen ... Det korrekte er selvfølgelig et array med alle de tegn du vil _tillade_ :-)

Nej..

$js_title = $post->title;

$search = array('"','\'');

str_replace($search, '', $js_title);

på de tre linjer bliver " og ' skiftet ud med ingenting (fjernet) i variabelen $js_title.

Side 1 ud af 1 (7 indlæg)