I am have troubles trying to print out <
>
symbols in HTML using PHP.
I am appending a string "<machine>
" to a variable.
Example:
$output .= " <machine> ";
echo $output;
I tried using escapes, but that didn't help. Any advice?
htmlspecialchars() Function: The htmlspecialchars() function is an inbuilt function in PHP which is used to convert all predefined characters to HTML entities. Syntax: string htmlspecialchars( $string, $flags, $encoding, $double_encode )
The Scope Resolution Operator (also called Paamayim Nekudotayim) or in simpler terms, the double colon, is a token that allows access to static, constant, and overridden properties or methods of a class.
php function check_string($my_string){ $regex = preg_match('[@_! #$%^&*()<>?/|}{~:]', $my_string); if($regex) print("String has been accepted"); else print("String has not been accepted"); } $my_string = 'This_is_$_sample!
>
= >
<
= <
Or you can use htmlspecialchars
.
$output .= htmlspecialchars(" <machine> ");
If you are outputting HTML, you cannot just use <
and >
: you must use the corresponding HTML entities : <
and >
If you have a string in PHP and want to automatically replace those characters by the corresponding HTML entities, you'll be interested by the htmlspecialchars()
function (quoting) :
The translations performed are:
'&'
(ampersand) becomes'&'
'"'
(double quote) becomes'"'
whenENT_NOQUOTES
is not set."'"
(single quote) becomes'''
only whenENT_QUOTES
is set.'<'
(less than) becomes'<'
'>'
(greater than) becomes'>'
In your case, a portion of code like this one :
$output = " ";
echo htmlspecialchars($output, ENT_COMPAT, 'UTF-8');
Would get you the following HTML code as output :
<machine>
And, just in case, if you want to encode more characters, you should take a look at the htmlentities()
function.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With