Trying to concatenate php and javascript

Hi.  I have been trying to concatenate the following code for a pop up window using javascript but have not been successful.  Does anyone have any ideas?  I have worked around similar problems in other parts of this project by using include files and other tricks but, in this case, I really need the concatenated line because I am generating HTML code.  I am getting the error "Parse error: syntax error, unexpected T_STRING....".  I'm sure the problem is that there are single and double quotes already in the string so using a single or double quote for the concatenation is confusing php.  But I don't know how to change it.  I am using very similar javascript on another page and the popup window works fine.  However, that page does not need to concatenate any values so I just used straight html outside of php tags.

Thanks for your help.
Alexis
     $texttoadd3 = $texttoadd3. 
 '<div class="emailweb"><a href="http://www.xxxxx.com/new/contact.php?advertiserid=$id" onclick="window.open('http://www.xxxxx.com/new/contact.php?advertiserid=$id','popup','width=440,height=420,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=450,top=200'); return false">Email Us</a></div>';

Here's the straight html code that I used on another page and it worked perfectly.
<a style="color: #153E7E;text-decoration: none;" href="http://www.xxxxx.com/new/contact.php?advertiserid=<? echo $id;?>" onclick="window.open('http://www.xxxxx.com/new/contact.php?advertiserid=<? echo $id;?>','popup','width=440,height=420,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=450,top=200'); return false">Email Us</a>

Open in new window

alexisbrAsked:
Who is Participating?
 
Dave BaldwinConnect With a Mentor Fixer of ProblemsCommented:
0
 
designatedinitializerConnect With a Mentor Commented:
The most straightforward way to do it is with heredoc syntax.
This way you don't have to escape any characters (almost). You can simply copy & paste it from your original HTML.
Like this:

$texttoadd3 = <<<THING
<div class="emailweb">
<a href="http://www.xxxxx.com/new/contact.php?advertiserid=$id" onclick="window.open(\'http://www.xxxxx.com/new/contact.php?advertiserid=$id\',\'popup\',\'width=440,height=420,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=450,top=200\'); return false">Email Us</a>
</div>
THING

Open in new window


check out the man page at:
http://www.php.net/manual/en/language.types.string.php#language.types.string.syntax.heredoc
0
 
alexisbrAuthor Commented:
Thanks to both of you.  I tried to first solution from DaveBaldwin and it worked (with a very slight modfication) so I went with that.  The $id variable was not showing the value.  I had not separated the value in the concatenation statement when I took it out of the straight html.  I pasted the final working line below.

Thanks again for your help.  
Alexis
   
 $texttoadd3 = $texttoadd3. 
 '<div class="emailweb"><a href="http://www.xxxxx.com/new/contact.php?advertiserid=' . $id . ' onclick="window.open(\'http://www.xxxxx.com/new/contact.php?advertiserid=' . $id . '\',\'popup\',\'width=440,height=420,scrollbars=yes,resizable=yes,toolbar=no,directories=no,location=no,menubar=no,status=no,left=450,top=200\'); return false">Email Us</a></div>';

Open in new window

0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.