First of all, i have gone through the related questions.. haven\'t found any answer.. I m using this code to display a message
echo \'Here goes your message wi
Either escape the quote with a backslash, or use double quotes to designate the string.
echo 'Here goes your message with an apostrophe S like thi\'s';
echo "Here goes your message with an apostrophe S like thi's";
Escape the quote using a backslash.
'hello\'s'
The single quote that appears after the backslash will appear on screen.
Have you tried the function addslashes()? It even uses your example.
I personally prefer the function htmlspecialchars() which does the same thing but has flags which let you specify its behavior.
like so:
echo htmlspecialchars("O'Rielly", ENT_QUOTES);
This shows the string properly on an HTML webpage.
The problem may be that you are passing the variable through HTML in single quotes ''. If it is the case, try using double quotes: "".
echo <<<EOT
You can put what ever you want here.. HTML, " ' ` anyting will go
Here goes your message with an apostrophe S like thi's
EOT;
Be sure to read this before using such kind of strings.
Since the methods from the answers didn't work for my situation I ended up just calling a new echo everytime the type of quote changed through the code and swapped the type of quote to start the echo, it's 2019 now and I don't know about any other solution since I am really new to programming but this worked fine for me, example:
else {
echo '<a onclick="document.getElementById(';
echo "'open_login').style.display='block'";
echo '" class="branding w3-bar-item w3-button w3-mobile w3-light-blue w3-hover-white w3-right"href="#login"><span class="fa fa-user"></span> Login do Aluno</a>';
}