468,247 Members | 1,331 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 468,247 developers. It's quick & easy.

How to store HTML code (with " ", ' ') inside a variable in php script?

Hello to everyone,

Assuming i have this simple script :

<?PHP

//Opening tag ='
$html_header='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
'; // Closing tag ='

echo $html_header;

?>

If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?

How should i do it if i had something like <HEAD><TITLE='PHP foo'></HEAD>?
Jul 17 '05 #1
12 7964
*** Maxim Vexler wrote/escribió (Thu, 11 Nov 2004 11:35:46 +0200):
If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?


\'

http://es.php.net/manual/en/language.types.string.php

--
-- Álvaro G. Vicario - Burgos, Spain
-- Thank you for not e-mailing me your questions
--
Jul 17 '05 #2
Alvaro G Vicario wrote:
*** Maxim Vexler wrote/escribió (Thu, 11 Nov 2004 11:35:46 +0200):
If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?

\'

http://es.php.net/manual/en/language.types.string.php


Note to self : Speak less, Read MORE (manuals).

Thank you. :)
Jul 17 '05 #3
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:
How should i do it if i had something like <HEAD><TITLE='PHP foo'></HEAD>?


[nit-picking]
Tags and attributes should be lower case
Attribute values should be in double quotes no single.
<title=...> is not valid html; <title>PHP foo</title> is
[/nit-picking]
Jul 17 '05 #4
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:
If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?


Use \'

Matthias
Jul 17 '05 #5
"Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il>"
wrote in message news:<41********@news.012.net.il>...

Assuming i have this simple script :

<?PHP

//Opening tag ='
$html_header='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
'; // Closing tag ='

echo $html_header;

?>

If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?
Yes. You should escape it with \ or just use the very versatile
heredoc syntax.
How should i do it if i had something like <HEAD><TITLE='PHP foo'></HEAD>?


Option One:

$head = '<HEAD><TITLE=\'PHP foo\'></HEAD>';

Option Two:

$head = "<HEAD><TITLE='PHP foo'></HEAD>";

Option Three:

$head = <<<ENDOFHEAD
<HEAD><TITLE='PHP foo'></HEAD>
ENDOFHEAD;

Cheers,
NC
Jul 17 '05 #6
Nikolai Chuvakhin wrote:
"Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il>"
wrote in message news:<41********@news.012.net.il>...

Assuming i have this simple script :

<?PHP

//Opening tag ='
$html_header='
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
'; // Closing tag ='

echo $html_header;

?>

If the opening & closing tags are both ' then it works fine, but if the
html script itself contains a ' then i need some way to escape it, no ?


Yes. You should escape it with \ or just use the very versatile
heredoc syntax.
How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?


Option One:

$head = '<HEAD><TITLE=\'PHP foo\'></HEAD>';

Option Two:

$head = "<HEAD><TITLE='PHP foo'></HEAD>";

Option Three:

$head = <<<ENDOFHEAD
<HEAD><TITLE='PHP foo'></HEAD>
ENDOFHEAD;


Option Four:

$head = '<HEAD><TITLE="PHP foo"></HEAD>';

Although of course this isn't valid HTML as the title tag works like this:

<title>PHP Foo</title>

and the tags and attributes should be in lower case because you have defined
XHTML Script as your document type.

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #7
Robin Goodall wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:
How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?


[nit-picking]
Tags and attributes should be lower case
Attribute values should be in double quotes no single.
<title=...> is not valid html; <title>PHP foo</title> is
[/nit-picking]


You *can* use single quotes. I can't find this referenced anywhere, but I
just made a test document in both 1.0 Strict and 1.1 and they both
validated when using single quotes for attribute values.

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #8
On Thu, 11 Nov 2004 14:34:54 +0000, Robin Goodall <an**@somewhere.com> wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:

How should i do it if i had something like <HEAD><TITLE='PHP foo'></HEAD>?
[nit-picking]
Tags and attributes should be lower case


This is not required, and the examples in the HTML specification have the
element names in upper case.

HTML4.0.1, sec 1.2.1 (Document Conventions, Elements and Attributes):
http://www.w3.org/TR/html4/about.html#h-1.2.1

"Element names are written in uppercase letters (e.g., BODY). Attribute names
are written in lowercase letters (e.g., lang, onsubmit). Recall that in HTML,
element and attribute names are case-insensitive; the convention is meant to
encourage readability."

HTML4.0.1, sec 3.2.1:
http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.1

"Element names are always case-insensitive."
Attribute values should be in double quotes no single.


Single quotes are perfectly acceptable; they're explicitly allowed in the HTML
specification, via the SGML specification:

HTML4.0.1, sec 3.2.2:
http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.2.2

"By default, SGML requires that all attribute values be delimited using either
double quotation marks (ASCII decimal 34) or single quotation marks (ASCII
decimal 39)."

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #9
On Fri, 12 Nov 2004 08:01:41 +1300, Chris Hope <bl*******@electrictoolbox.com>
wrote:
Robin Goodall wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:
How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?


[nit-picking]
Tags and attributes should be lower case
Attribute values should be in double quotes no single.
<title=...> is not valid html; <title>PHP foo</title> is
[/nit-picking]


You *can* use single quotes. I can't find this referenced anywhere, but I
just made a test document in both 1.0 Strict and 1.1 and they both
validated when using single quotes for attribute values.


It's defined back in the XML spec; see the two alternatives, one for double
quotes and the other for single quotes:

http://www.w3.org/TR/2000/REC-xml-20001006#NT-AttValue

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #10
Andy Hassall wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:

How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?


[nit-picking]
Tags and attributes should be lower case


This*is*not*required,*and*the*examples*in*the*HTML *specification*have*the
element names in upper case.


Well actually in his example he was using XHTML Strict as the document type
so tags and attributes *must* be in lower case.

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #11
On Fri, 12 Nov 2004 08:17:14 +1300, Chris Hope <bl*******@electrictoolbox.com>
wrote:
Andy Hassall wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:

How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?

[nit-picking]
Tags and attributes should be lower case


This*is*not*required,*and*the*examples*in*the*HTML *specification*have*the
element names in upper case.


Well actually in his example he was using XHTML Strict as the document type
so tags and attributes *must* be in lower case.


Yeah, I cancelled the post after seeing it was XHTML (despite the subject
saying HTML) but it looks like it was too late and the message got out.

--
Andy Hassall / <an**@andyh.co.uk> / <http://www.andyh.co.uk>
<http://www.andyhsoftware.co.uk/space> Space: disk usage analysis tool
Jul 17 '05 #12
Andy Hassall wrote:
Maxim Vexler <hq4ever (at) 012 (dot) net (dot) il> wrote:
How should i do it if i had something like <HEAD><TITLE='PHP
foo'></HEAD>?

[nit-picking]
Tags and attributes should be lower case
Attribute values should be in double quotes no single.
<title=...> is not valid html; <title>PHP foo</title> is
[/nit-picking]


You *can* use single quotes. I can't find this referenced anywhere, but I
just made a test document in both 1.0 Strict and 1.1 and they both
validated when using single quotes for attribute values.


It's defined back in the XML spec; see the two alternatives, one for
double
quotes and the other for single quotes:

http://www.w3.org/TR/2000/REC-xml-20001006#NT-AttValue


I knew I'd seen it somewhere the other day. Although my eyes normally glaze
over when I try to read DTDs...

--
Chris Hope - The Electric Toolbox - http://www.electrictoolbox.com/
Jul 17 '05 #13

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

15 posts views Thread by Jeff North | last post: by
3 posts views Thread by Mochuelo | last post: by
2 posts views Thread by mstearne | last post: by
reply views Thread by NPC403 | last post: by
reply views Thread by kermitthefrogpy | last post: by
reply views Thread by zattat | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.