رفتن به مطلب

echo کردن script در php


پست های پیشنهاد شده

سلام

بنده میخوام چنین script ی رو echo کنم توی php


<script>
$(function(){
$("#typed").typed({
strings: ["Typed.js is a <strong>jQuery</strong> plugin.", "It <em>types</em> out sentences.", "And then deletes them.", "Try it out!"],
typeSpeed: 30,
backDelay: 500,
loop: false,
contentType: 'html', // or text
// defaults to false for infinite loop
loopCount: false,
callback: function(){ foo(); },
resetCallback: function() { newTyped(); }
});
$(".reset").click(function(){
$("#typed").typed('reset');
});
});
function newTyped(){ /* A new typed object */ }
function foo(){ console.log("Callback"); }
</script>

کد بالا کد اصلی هست

قبل کاراکتر ' گرفتم / گذاشتم اما بازم چاپ نمیشد و صفحه سفید میاورد

فکر میکنم چون مثل انتهای echo در پی اچ پی با }); میبندیم و کد بالا هم کلی }); داره اینطوری میشه

راهی هست بتونم با php چاپش کنم ؟

ویرایش شده توسط -Ali-
لینک به ارسال

نه عزیز میخوام چاپ شه که صفحه سفید میاد !!!

شما اگه بگی چطور میتونم با php چاپش کنم اکی هست

چون وقتی تو echo میزارمش صفحه سفید میشه

ویرایش شده توسط -Ali-
لینک به ارسال

از تابع htmlspecialchars استفاده کنید

    echo htmlspecialchars('<code><script>
$(function(){
$("#typed").typed({
strings: ["Typed.js is a <strong>jQuery</strong> plugin.", "It <em>types</em> out sentences.", "And then deletes them.", "Try it out!"],
typeSpeed: 30,
backDelay: 500,
loop: false,
contentType: "html", // or text
// defaults to false for infinite loop
loopCount: false,
callback: function(){ foo(); },
resetCallback: function() { newTyped(); }
});
$(".reset").click(function(){
$("#typed").typed("reset");
});
});
function newTyped(){ /* A new typed object */ }
function foo(){ console.log("Callback"); }
</script></code>');

لینک به ارسال

مقلا اینکد صفحه سفید میاره :


function search_widget()
{
$this->output(
'<aside id="search-4" class="widget widget_search">',
'<p class="widget-title">جستجو در سوالات</p>',
'<script>',
'(function() {',
'var cx = /'011900192141920744246:n9jj1rxodww/';',
'var gcse = document.createElement(/'script/');',
'gcse.type = /'text/javascript/';',
'gcse.async = true;',
'gcse.src = (document.location.protocol == /'https:/' ? 'https:' : 'http:') +',
'/'//www.google.com/cse/cse.js?cx=/' + cx;/',
'var s = document.getElementsByTagName(/'script/')[0];',
's.parentNode.insertBefore(gcse, s);',
'})();',
'</script>',
'<gcse:search></gcse:search>
'</aside>'
);
}

کد بالا رو ادیت کردم که ارور نده اما بازم صفحه سفید میشه :

و با این خطا مشکل داره :


'var cx = /'011900192141920744246:n9jj1rxodww/';',
'var gcse = document.createElement(/'script/');',


'gcse.type = /'text/javascript/';',


'gcse.src = (document.location.protocol == /'https:/' ? 'https:' : 'http:') +',
'/'//www.google.com/cse/cse.js?cx=/' + cx;/',
'var s = document.getElementsByTagName(/'script/')[0];',

مشکل از کجاست؟

لینک به ارسال

اینم تست کردم نشد :


function search_widget()
{
$this->output(
'<aside id="search-4" class="widget widget_search">',
'<p class="widget-title">جستجو در سوالات</p>'
);
$this->output('<script>');
$this->output('(function() {');
$this->output('var cx = "011900192141920744246:n9jj1rxodww";');
$this->output('var gcse = document.createElement("script");');
$this->output('gcse.type = "text/javascript";');
$this->output('gcse.async = true;');
$this->output(' gcse.src = (document.location.protocol == "https:" ? "https:" : "http:") +');
$this->output('/'//www.google.com/cse/cse.js?cx=/' + cx;');
$this->output('var s = document.getElementsByTagName("script")[0];');
$this->output('s.parentNode.insertBefore(gcse, s);');
$this->output(' }');
$this->output('});');
$this->output('</SCRIPT>');
$this->output('</aside>');
}

مشکل هم از این خط هست که خذف میشه بالا میاد سایت :


$this->output('/'//www.google.com/cse/cse.js?cx=/' + cx;');

اما نمیدونم اصلا الان این ادیتارو کردم درست کار میکنه یا نه :| ؟

لینک به ارسال

و اینطوری موفق به چاپش شدم اما چون ' هارو به " تغییر دادم دیگه اسکریپت کار نمیکنه


function search_widget()
{
$this->output(
'<aside id="search-4" class="widget widget_search">',
'<p class="widget-title">جستجو در سوالات</p>'
);
$this->output('<script>');
$this->output('(function() {');
$this->output('var cx = "011900192141920744246:n9jj1rxodww";');
$this->output('var gcse = document.createElement("script");');
$this->output('gcse.type = "text/javascript";');
$this->output('gcse.async = true;');
$this->output(' gcse.src = (document.location.protocol == "https:" ? "https:" : "http:") +');
$this->output('"//www.google.com/cse/cse.js?cx=" + cx;');
$this->output('var s = document.getElementsByTagName("script")[0];');
$this->output('s.parentNode.insertBefore(gcse, s);');
$this->output(' }');
$this->output('});');
$this->output('</SCRIPT>');
$this->output('</aside>');
}

توروخدا کمک کنید

لینک به ارسال

یه اسکریپت دارم که تو هدرش میخوام این جستجو رو بزارم

این اسکریپت پوستش از هسته سیستم میاد و باید در فایل php بازنویسی بشه

کلی چیزو جایگزین کردم اما به اسکریپت گوگل که رسیدم نمیتونم output بزارم براش !

میخوام ببینم چطور اینو سالم output کنم

ممنون

لینک به ارسال

آخر مجبور شدم از خارجی ها بپرسم :|

دمه همتون

بخاطر وقت گذاشتنتون

باید از همون EOF استفاده میشد

ویرایش شده توسط -Ali-
لینک به ارسال

سلام. ببینید من نمیدونم چرا کدتون رو اینطوری نوشتید . اما همیشه یک راهی هست که بتونید بدون نوشتن کدها توی خود php اونها رو توی صفحه لود کنید.

مشکل اون کدهای شما این هست که مثلا وقتی توی ابتدا و انتهای یک استرینگ از علامت ' استفاده کردید در داخل خود استرینگ یا باید از " استفاده کنید یا از :


\'

وگرنه خطا میده و حقم داره چون نمیدونه کجا استرینگ رو قطع کرده اید.

لینک به ارسال

به گفتگو بپیوندید

هم اکنون می توانید مطلب خود را ارسال نمایید و بعداً ثبت نام کنید. اگر حساب کاربری دارید، برای ارسال با حساب کاربری خود اکنون وارد شوید .

مهمان
ارسال پاسخ به این موضوع ...

×   شما در حال چسباندن محتوایی با قالب بندی هستید.   حذف قالب بندی

  تنها استفاده از 75 اموجی مجاز می باشد.

×   لینک شما به صورت اتوماتیک جای گذاری شد.   نمایش به صورت لینک

×   محتوای قبلی شما بازگردانی شد.   پاک کردن محتوای ویرایشگر

×   شما مستقیما نمی توانید تصویر خود را قرار دهید. یا آن را اینجا بارگذاری کنید یا از یک URL قرار دهید.

×
×
  • اضافه کردن...