【发布时间】:2017-10-01 10:42:28
【问题描述】:
这是我的 PHP 代码:https://eval.in/871659
1- 我有一些带有 javascript $content line 2
2- 我想提取 javascript 代码到数组 第 17 行
3- 我有一些允许列表数组$allowed_js(可以在我的 HTML 上的 javascript 代码)第 20 行
4- 我想删除不允许的 javascript line 26 - 35
问题出在第 4 节,因为我在 foreach 中使用了 foreach,每个 javascript $matches array 检查都算作 $allowd_js array 这是真的,
但问题是如果检测到不允许的字符串就会得到替换字符串,所以基本上对于每个javascript,只有一个允许的单词(包含在$allowed_js array中),所以在每种情况下都会被替换
我也尝试过使用break,但它不起作用
另外,我试过这个循环,但它也不起作用
$allow_count = count($allowed_js)-1;
foreach ($matches[0] as $key => $value) {
for ($i = 0; $i <= $allow_count ; $i++) {
if (strpos($value,$allowed_js[$i]) == false) {
$content = str_replace($value,"",$content);
//break;
}
}
}
【问题讨论】:
标签: php arrays foreach preg-match-all