Woorden tellen zonder de opmaakcode mee te tellen
Ik heb een site aan het maken waar het mogelijk is om een kleine tekst advertentie te plaatsen van een paar regels. Ik heb hiervoor een formulier gemaakt waarbij ik de Innova Editor gebruikt heb. Dat gaat allemaal prima, tot ik bij het volgende probleem kom.
Deze advertenties moeten 'per woord' betaald worden. Ik tel dus na het invoeren van de advertentie het aantal woorden met de functie: $aantalwoorden = (str_word_count($tekst)); waarbij de variabele $tekst de advertentie tekst bevat.
Door de editor worden er echter ook wat html codes toegevoegd zoals <STRONG>, <I> en de tags rondom een mailadres/website. Het is echter niet de bedoeling dat deze 'code-woorden' ook meegeteld worden. Kan iemand mij helpen hoe dit op te lossen.
Ik hoop dat jullie een passende oplossing voor me hebben.
Het werkt nu allemaal prima, maar ik heb nog een ander probleempje.
Als er in de tekst een woord wordt ingevoerd waar een apostrof in een woord staat, dan krijg ik een foutmelding. Waarschijnlijk omdat hij deze apostrof ziet alsof de code afgesloten wordt.
Kan ik ik dit in de editor of d.m.v. een php-regel zo instellen dat deze tekens (en dan in het bijzonder de ' en de " ) zonder problemen kunnen worden ingevoerd?
Bij voorbaat dank voor jullie hulp weer!!!
het is misschien wel handig om de error hier neer te zetten
Als ik in de tekst een ' heb staan krijg ik de volgende melding:
You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 's at line 1
Bij twee ' in een zin is het probleem er niet.
mysql_real_Escape_String() eroverheen gooien voordat het in de database gaat.
Laat het gedeelte eens zien dat de data in je database stopt. Aan de foutmelding te zien ben je niet echt veilig bezig.
$insertQuery = "INSERT INTO formulier (naam, adres, telefoon, mail, tekst, aantalwoorden, kosten, opmerkingen, w01, w52, datum, controle) VALUES ('$naam', '$adres', '$telefoon', '$mail', '$tekst', '$aantalwoorden', '$kosten', '$opmerkingen', '$w01', '$w52', '$datum', '$controle')";
$bool = mysql_query($insertQuery);
Ik heb de code hier even ingekort omdat er tussen w01 en w52 nog een flink aantal gegevens zitten die ingevoerd worden.
Ik heb ooit op een cursus geleerd dat het wegschrijven naar een db op deze manier zou moeten...