Ne karakterler PHP Javascript yankılanan zaman kaçtı gerekir?

4 Cevap php

Ben bir PHP ifadesi ise içinde Google AdWords dönüşüm izleme kodu için Javascript echo çalışıyorum. Googling bir sürü yaptık ama ben kod düzgün yürütmek için kaçmak gerekir şeyi karakterler kesin bir listesini bulmak için görünmüyor olabilir. Herkes bir öneriniz var?

Bu kod ilk bit bir dönüşüm kod parçası ile dahil aramaları halinde deyiminin başlangıcı:

if ( @mailit ) {
include ("conversioncodes.php");

Bu düzgün kaçmak için nasıl anlamaya çalışıyorum kod parçacığını içeren conversioncodes.php içeriğini olduğunu. Hedef dönüşüm kod if ifadesinden koşullar karşılandığında dönüşüm izlemek sahip olmaktır.

echo "<!-- Google Code for Homepage Form Submit Conversion Page -->
<script type="text/javascript">
<!--
var google_conversion_id = XXXXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 0;
//-->
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/XXXXXXXXXX/?label=XXXXXXXXXXXXXXXXXXX&amp;guid=ON&amp;script=0"/>
</div>
</noscript>";

4 Cevap

Sadece bir NOWDOC ve hiçbir ayrıştırma yapılacaktır kullanmak, PHP 5.3 + kullanıyorsanız, bu yüzden bir şey kaçmak zorunda kalmazsınız varsayarsak:

echo <<<'ENDMARKER'
<!-- Google Code for Homepage Form Submit Conversion Page -->
<script type="text/javascript">
<!--
var google_conversion_id = XXXXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 0;
//-->
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/XXXXXXXXXX/?label=XXXXXXXXXXXXXXXXXXX&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
ENDMARKER;

Sadece yerine tek tırnak kullanın.

echo '<!-- Google Code for Homepage Form Submit Conversion Page -->
<script type="text/javascript">
<!--
var google_conversion_id = XXXXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 0;
//-->
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/XXXXXXXXXX/?label=XXXXXXXXXXXXXXXXXXX&amp;guid=ON&amp;script=0"/>
</div>
</noscript>'

Kapalı: Tek tırnak çift tırnak birkaç kat daha hızlıdır ve birkaç tarafından ben bir şey demek.

Belki de sadece php patlak? Bu şekilde aynı zamanda mümkün olduğu kadar berrak vurgulayarak sözdizimi devam edeceğiz.

?>
<!-- Google Code for Homepage Form Submit Conversion Page -->
<script type="text/javascript">
<!--
var google_conversion_id = XXXXXXXXXX;
var google_conversion_language = "en";
var google_conversion_format = "3";
var google_conversion_color = "ffffff";
var google_conversion_label = "XXXXXXXXXXXXXXX";
var google_conversion_value = 0;
//-->
</script>
<script type="text/javascript" src="http://www.googleadservices.com/pagead/conversion.js">
</script>
<noscript>
<div style="display:inline;">
<img height="1" width="1" style="border-style:none;" alt="" src="http://www.googleadservices.com/pagead/conversion/XXXXXXXXXX/?label=XXXXXXXXXXXXXXXXXXX&amp;guid=ON&amp;script=0"/>
</div>
</noscript>
<?php

Sadece bir yan not olarak, gerçekten burada eksik eleman şablonun çeşit sağlayan sağlam bir yol olduğunu akılda tutmak. Şablonlar çok temiz php ile ilgili yapmak, iş mantığını sunum mantığı ayırır. Ben çok tam şişmiş bir şablon motoru kullanarak değilse en azından, şablon olarak ayrılmış php dosyalarını kullanmanızı öneririz.

Ben bütün bir süre önce aynı problem üzerinde Şaşırdınız. Genel cevabı gerçekten önemsiz değildir.

Vazgeçti ve çok kolay hepsini dizildi ki json_encode() kullanmak için kodumu yazdım. Ve yeniden yazma çok hızlı oldu. Ben er düşünmüştü kendime çok zaman kaydedilmiş olurdu.

Bir nesne ya da dizi sizin JS komut vermek gerekir veriler paketlemek, json_encode() onu ve yazmak.