views:

90

answers:

3
+1  Q: 

output code AS IS

add in note i have to paste 3 time the following code in the html body of a static webpage, instead of having to paste it and have a lot of code, i prefer to only have one line (3 times) that call the writing of the code, like this : <?php getgooglepub(); ?>


I like to make a php function that will ouput to the hmtl page the google analitic code or adsense.... hot to format the code to output "as is" with all the<>""''

here is the sample code to output :

<script type="text/javascript"><!--
google_ad_client = "pub-0743213818925076";
/* 728x90, date de création 11/02/10 */
google_ad_slot = "9774402576";
google_ad_width = 870;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
</script>

Note, despite the creative answer, i found myselft now beeing able to make it work... for sure, my fautl.... i will copy-paste the code, for sure, you will flag the problem, since i have no clue !..

function getgooglepub()
{$google_code = <<<EOT

<script type="text/javascript"><!--
google_ad_client = "pub-0743213818925076";
/* 728x90, date de création 11/02/10 */
google_ad_slot = "9774402576";
google_ad_width = 870;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
</script>

EOT;

echo htmlspecialchars($google_code);}

after that in the html code there is the call

<?php getgooglepub(); ?>

This is the source code from the page render in firefox... abviousely not working

&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--
google_ad_client = &quot;pub-0743213818925076&quot;;
/* 728x90, date de création 11/02/10 */
google_ad_slot = &quot;9774402576&quot;;
google_ad_width = 870;
google_ad_height = 90;
//--&gt;
&lt;/script&gt;
&lt;script type=&quot;text/javascript&quot;
src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&amp;quot;&amp;gt;

&lt;/script&gt;

i have read somewhere about the [data] tag ?.... it maybe a way to do that ?

A: 

If you have your HTML code in a variable, use

echo htmlspecialchars($google_analytics);

See this question from yesterday for a detailed explanation.

if it's not in a variable yet, you can use HEREDOC notation for convenience:

$google_analytics = <<<EOT

<script type="text/javascript"><!--
google_ad_client = "pub-0743213818925076";
/* 728x90, date de création 11/02/10 */
google_ad_slot = "9774402576";
google_ad_width = 870;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
</script>


EOT;

echo htmlspecialchars($google_analytics);
Pekka
+4  A: 

If you want to output some HTML code (and see the actual HTML code without having it interpreted), you can use a combinaison of both :

  • <pre> tags, so the presentation of the orinal code is kept ; i.e. linebreaks and multiple-spaces are not ignored by the browser
  • and a function such as htmlspecialchars, so <, >, & and quotes are escaped -- so they aree not interpreted by the browser.

For instance :

$str = <<<HTML
<script type="text/javascript"><!--
google_ad_client = "pub-0743213818925076";
/* 728x90, date de création 11/02/10 */
google_ad_slot = "9774402576";
google_ad_width = 870;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;
</script>
HTML;

echo '<pre>';
echo htmlspecialchars($str);
echo '</pre>';
die;

Shoud display the HTML code, without it being interpreted by the browser.

Pascal MARTIN
A: 

As the answer is right, and do print code "as is" it does not do it the way i want. Maybe i dont have explain it the right way. So i have found a solution. I use a external php file with the code, and after that in the main file i use the include. that way i only have one code that i can reuse many time, thanks anyway !

marc-andre menard