回答php字符串作为javascript函数的问题(Problem echoing php string as javascript function)

编程入门 行业动态 更新时间:2024-10-27 14:32:39
回答php字符串作为javascript函数的问题(Problem echoing php string as javascript function)

我正在使用Jaipho从自定义Wordpress插件向移动图库显示图像。 使用WP-mobile-detector插件显示使用Jaipho画廊的wordpress主题。

我遇到的问题是当我使用php收集照片的URL来回显一个由javascript解析的函数时。 我从Safari的元素检查器中获取了生成的静态javascript代码并将其粘贴到我的代码中,注释掉了php,它可以在任何地方使用。 Safari for iOS似乎不喜欢php生成的javascript代码。

HTML 5 <DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> PHP 5.2.6 Wordpress 3.2.1

当它工作时:

用户代理在Safari上设置为iPhone

静态代码取代了php生成的代码

$imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images) { $before_img = $view_images['before']; $after_img = $view_images['after']; echo "dao.ReadImage($i,'".$before_img->medium_size()."','".$before_img->small_size()."','".ucfirst($view_name)." Before','".$case->description."');"; $i++; echo "dao.ReadImage($i,'".$after_img->medium_size()."','".$after_img->small_size()."','".ucfirst($view_name)." After','".$case->description."');"; $i++; }

预期示例生成输出:

dao.ReadImage( 0,'/wp-content/uploads/rmgallery_images/medium/408/before-front.jpg','/wp-content/uploads/rmgallery_images/small/408/before-front.jpg','Front Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 1,'/wp-content/uploads/rmgallery_images/medium/410/after-front.jpg','/wp-content/uploads/rmgallery_images/small/410/after-front.jpg','Front After','38 year old who underwent a tummy tuck.'); dao.ReadImage( 2,'/wp-content/uploads/rmgallery_images/medium/409/before-side.jpg','/wp-content/uploads/rmgallery_images/small/409/before-side.jpg','Side Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 3,'/wp-content/uploads/rmgallery_images/medium/411/after-side.jpg','/wp-content/uploads/rmgallery_images/small/411/after-side.jpg','Side After','38 year old who underwent a tummy tuck.');

I'm using Jaipho to display images to a mobile gallery from a custom Wordpress plugin. The wordpress theme that uses the Jaipho gallery is displayed using the WP-mobile-detector plugin.

The problem I am having is when I use php to gather the URLs to the photos to echo out a function to be parsed by javascript. I took the resulting static javascript code from the element inspector of Safari and pasted it into my code, commenting out the php, and it works everywhere. Safari for iOS doesn't seem to like the javascript code generated by the php.

HTML 5 <DOCTYPE html> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/> <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/> PHP 5.2.6 Wordpress 3.2.1

When it works:

User Agent set to iPhone on Safari

Static code replaces php-generated code

$imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images) { $before_img = $view_images['before']; $after_img = $view_images['after']; echo "dao.ReadImage($i,'".$before_img->medium_size()."','".$before_img->small_size()."','".ucfirst($view_name)." Before','".$case->description."');"; $i++; echo "dao.ReadImage($i,'".$after_img->medium_size()."','".$after_img->small_size()."','".ucfirst($view_name)." After','".$case->description."');"; $i++; }

Expected example generated output:

dao.ReadImage( 0,'/wp-content/uploads/rmgallery_images/medium/408/before-front.jpg','/wp-content/uploads/rmgallery_images/small/408/before-front.jpg','Front Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 1,'/wp-content/uploads/rmgallery_images/medium/410/after-front.jpg','/wp-content/uploads/rmgallery_images/small/410/after-front.jpg','Front After','38 year old who underwent a tummy tuck.'); dao.ReadImage( 2,'/wp-content/uploads/rmgallery_images/medium/409/before-side.jpg','/wp-content/uploads/rmgallery_images/small/409/before-side.jpg','Side Before','38 year old who underwent a tummy tuck.'); dao.ReadImage( 3,'/wp-content/uploads/rmgallery_images/medium/411/after-side.jpg','/wp-content/uploads/rmgallery_images/small/411/after-side.jpg','Side After','38 year old who underwent a tummy tuck.');

最满意答案

你有一些不匹配的报价:

echo dao.ReadImage($i,'".$before...

echo "dao.ReadImage($i,'".$after...

等等。

试试这些:

echo 'dao.ReadImage('.$i.',"'.$before_img->medium_size().'","'.$before_img->small_size().'","'.ucfirst($view_name).' Before","'.$case->description.'");'; echo 'dao.ReadImage('.$i.',"'.$after_img->medium_size().'","'.$after_img->small_size().'","'.ucfirst($view_name).' After","'.$case->description.'");';

Credit to @Marc B and @linuxrules94 for a combined solution:

<?php $imageArray = $case->images_assc_array(); $i = 0; foreach($imageArray['views'] as $view_name => $view_images): $before_img = $view_images['before']; $after_img = $view_images['after']; ?> dao.ReadImage(<?=json_encode($i);?>, <?=json_encode($before_img->medium_size());?>,<?=json_encode($before_img->small_size());?>,<?=json_encode(ucfirst($view_name));?> + " Before", <?=json_encode(stripslashes($case->description));?>); <? $i++; ?> dao.ReadImage(<?=json_encode($i);?>, <?=json_encode($after_img->medium_size());?>,<?=json_encode($after_img->small_size());?>,<?=json_encode(ucfirst($view_name));?> + " After", <?=json_encode(stripslashes($case->description));?>); <? $i++; endforeach; ?>

Thanks, everyone!

更多推荐

本文发布于:2023-08-07 17:15:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1465493.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字符串   函数   javascript   php   function

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!