26. maj 2004 - 12:42
Der er
15 kommentarer og 1 løsning
Et ord må kun være 30 tegn langt!
Hvordan kan man i php, sikre sig, at brugeren ikke har skrevet nogle ord, der er længere end 30 tegn, inden den smider det op i MySQL !
Annonceindlæg fra Partnertekst
if($info ????){ echo "For langt ord!"; }
hvis du bruger en form, kan du sætte begræsning på det indtastede: <input name="indtastemail" type="text" maxlength="30">
jeg har et textarea, og jeg ønsker ikke at brugeren skal kunne skrive ord, der er længere end 30 tegn.. det har intet med maxlength at gøre.. maxlength definere hvor mange tegn du må skrive i et input !
noget wordwrap vi skal have fat i ?
$newtext = wordwrap($rd[text], 50, "\n", 1); Det virker :) ?
$test=explode(' ',$info); $words=count($test); for ($i=0;$i<$words;$i++) if (strlen($test[$i] > 30) echo "For langt ord: ".$test[$i];
if( preg_match("/[^\s]{30,}/", $info) ){ echo "For langt ord!"; }
$newtext = wordwrap($rd[text], 50, "\n", 1); - Er den ikke nemmere ?
nu er der forskel på wordwrap og det du spørger om "Hvordan kan man i php, sikre sig, at brugeren ikke har skrevet nogle ord, der er længere end 30 tegn, inden den smider det op i MySQL !" WordWrap: vil blot lave en ny linie (\n) efter x karakterer. Fra php.net: wordwrap -- Wraps a string to a given number of characters using a string break character.
ja, men det sikre da, at der ikke er nogle ord, der er længere end x antal tegn ?
correct me if im wrong :) please!
Det sikrer dig at længen af hver linie ikke overskrider x tegn.... eksempel: $text = "laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaannnnnnngt ord"; $new=wordwrap($text], 30, "\n", 1); echo $new; --- Vil give: laaaaaaaaaaaaaaaaaaaaaaaaaaaaa aaaaaaaaaaaaaaaaaaaannnnnnngt ord
Men hvis det er det du vil have, så virker det jo også efter hensigten
14. juni 2004 - 11:48
#16
if(strlen($ord) > 30) { echo"Nix mester!" } else { //indsæt i db }
Vi tilbyder markedets bedste kurser inden for webudvikling