ckrudelux Posted March 8, 2009 Share Posted March 8, 2009 Is where a simple code for making html/php or other lang.. codes to text?example:if I write this in my input field and post it. <a herf="index.php">sometext</a>output I don't want:sometextoutput I want:<a herf="index.php">sometext</a> Link to comment Share on other sites More sharing options...
jarrett000 Posted March 8, 2009 Share Posted March 8, 2009 I read your post again and again, and I'm still not quite sure what you asking. Do you want to makes links from php? Link to comment Share on other sites More sharing options...
jlhaslip Posted March 8, 2009 Share Posted March 8, 2009 If you want to have the actual code output onto an html page, then you would need to convert the special html characters into "html entities" so they do not get converted into code.In particular, these ones are used to replace the opening and closing brackets of the html tags: < < less-than sign> > greater-than sign Link to comment Share on other sites More sharing options...
boen_robot Posted March 8, 2009 Share Posted March 8, 2009 To put what jlhaslip says in an exmaple, in your HTML or PHP output, write <a herf="index.php">sometext</a> From PHP specifically, you can also use the htmlspecialchars() function, like echo htmlspecialchars('<a herf="index.php">sometext</a>'); which will turn the string in the function to the entities you'd otherwise write manually as in the first example. Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 To put what jlhaslip says in an exmaple, in your HTML or PHP output, write<a herf="index.php">sometext</a> From PHP specifically, you can also use the htmlspecialchars() function, like echo htmlspecialchars('<a herf="index.php">sometext</a>'); which will turn the string in the function to the entities you'd otherwise write manually as in the first example. This code was what I was looking for thanks alot "htmlspecialchars()" Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 Need help with this things as well.code what checks if there is any special chars with an output: true / falsehave text from a database what has linebreaks but if html is going to have that structure I need to add <br /> in the end of every line, any good ideas?how it will look in my page source code then I have got it from my database: some text some textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textsome textoutput I get without <br />some text some text some textsome textsome text some textsome textsome text some textsome textsome text some text some textsome text some textsome text some textsome text Link to comment Share on other sites More sharing options...
boen_robot Posted March 8, 2009 Share Posted March 8, 2009 Surround the output with a <pre> element. That's the neatest, easiest, fastest and most realiable option. Like: echo '<pre>, $output, '</pre>'; Where $output is the text you're getting from your database. Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 Surround the output with a <pre> element. That's the neatest, easiest, fastest and most realiable option. Like:echo '<pre>, $output, '</pre>'; Where $output is the text you're getting from your database. Well it worked got linebrake in the end but then the text is too long to fit on one row it don't change row and countinues on the next one Link to comment Share on other sites More sharing options...
boen_robot Posted March 8, 2009 Share Posted March 8, 2009 Well it worked got linebrake in the end but then the text is too long to fit on one row it don't change row and countinues on the next one OK, fine, nl2br() is your next best bet:echo nl2br($output); If this same output is the one containing code to be displayed as is, you need to use htmlspecialchars() within nl2br(), like echo nl2br(htmlspecialchars($output)); You'll otherwise create "<br />" in the user visible output. Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 OK, fine, nl2br() is your next best bet:echo nl2br($output); If this same output is the one containing code to be displayed as is, you need to use htmlspecialchars() within nl2br(), like echo nl2br(htmlspecialchars($output)); You'll otherwise create "<br />" in the user visible output. Thanks alot It's works fine and everything is in place like it should only one thing left code for checking if a input contains a special chars Link to comment Share on other sites More sharing options...
boen_robot Posted March 8, 2009 Share Posted March 8, 2009 Thanks alot It's works fine and everything is in place like it should only one thing left code for checking if a input contains a special charsWhy do you need that anyway? You can unconditionally use htmlspecialchars(). If there are any special characters, they'll be escaped, otherwise they won't be. If you want to do more, then perhaps you should instead declare another column in your DB to have the data's datatype (plain-text or HTML).If you really want to do that though, you can do it by simply comparing the output of htmlspecialchars() with the string itself, like:if ($output === htmlspecialchars($output)) {//$output doens't contain any HTML special characters}else {//$output contains at least one HTML special character. That doesn't mean it's valid (X)HTML.} Again, this is not a good idea in general. I'd totally advise against it. Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 Why do you need that anyway? You can unconditionally use htmlspecialchars(). If there are any special characters, they'll be escaped, otherwise they won't be. If you want to do more, then perhaps you should instead declare another column in your DB to have the data's datatype (plain-text or HTML).If you really want to do that though, you can do it by simply comparing the output of htmlspecialchars() with the string itself, like:if ($output === htmlspecialchars($output)) {//$output doens't contain any HTML special characters}else {//$output contains at least one HTML special character. That doesn't mean it's valid (X)HTML.} Again, this is not a good idea in general. I'd totally advise against it. Need it couse the you registrate on the page your username can only be numbers and letters and I need a code to check that there aren't any symbols in it Link to comment Share on other sites More sharing options...
boen_robot Posted March 8, 2009 Share Posted March 8, 2009 Need it couse the you registrate on the page your username can only be numbers and letters and I need a code to check that there aren't any symbols in it Again. Why? Can't you just output the username with htmlspecialchars()? If there's something else (e.g. the username needs to also be fittable in a URL without URL escaping), then perhaps you could also do regular expression checks instead upon entry that matches the allowed characters, like:if ((bool) preg_match('/^[A-Za-z0-9]+$/', $_POST['username'])) {//Continue with registration. The username contains only latin letters and numbers.}else {//Output an error message, as the username contains something else too.} Link to comment Share on other sites More sharing options...
ckrudelux Posted March 8, 2009 Author Share Posted March 8, 2009 Again. Why? Can't you just output the username with htmlspecialchars()? If there's something else (e.g. the username needs to also be fittable in a URL without URL escaping), then perhaps you could also do regular expression checks instead upon entry that matches the allowed characters, like:if ((bool) preg_match('/^[A-Za-z0-9]+$/', $_POST['username'])) {//Continue with registration. The username contains only latin letters and numbers.}else {//Output an error message, as the username contains something else too.} That works too thanks yet again Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.