撇号会破坏编写的代码以输出短代码

时间:2017-10-27 08:36:29

标签: php escaping syntax-error shortcode

我们的客户想要一个娱乐网站的视频和音频插件,我们发现了一个漂亮的外观,但你添加项目到播放列表的方式对于我们的非技术客户来说太混乱了。

我们决定使用插件(预算主要用于这一点)。我们尝试构建一个ACF接口,允许他们输入重建的文件/视频的标题和URL,并将短代码输出到php模板中。

我们以前从未这样做过。那个挺难。它花了很长时间,但最后我们得到了它!很好,我们想。然后客户端在视频播放列表项的标题中使用了撇号,它打破了所有内容。其他两位开发人员后来花了大约6个小时的时间来解决这个问题......我们现在对如何解决这个问题感到茫然......

没有撇号=罚款。使用=视频播放器无法加载。

我们经历过非法性格,未定义的角色以及其他类似性质的其他问题。

网站http://fandf.ladesigns.co.uk/act/video/ 错误https://i.imgur.com/l4238P4.png

守则:

$str2 = '[cleanvideoplayer playlist="';

                  foreach ($rows as $row) {

                                $str2 .= '{';

                                $title = $row['video_title'];
                                // $title = str_replace("'", "\'", $title);

                                $title = str_replace("'", "\'", $title);

                                $filetype = $row['file_type'];
                                $url = $row['url'];


                                $title2 = "title: '$title', ";
                                $url2 = "$filetype: '$url', ";

                                $str2 .= $title2;
                                $str2 .= $url2;

                                $str2 .= '},'; // added a comma here

                                // // $str2 = str_replace("'", '"', $str2);
                                // $str2 = str_replace('\"', "\'", $str2);

                                }

                     $str2 .= '"]';

                     // var_dump($str2);die();

                     }
                                // echo $str2;
                                echo do_shortcode( $str2 );
                                // echo cleanvideoplayer(); // Yey!

                            }

0 个答案:

没有答案