Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/298.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取<;中的内容;脚本类型=";text/javascript“&燃气轮机</脚本>;_Php - Fatal编程技术网

PHP获取<;中的内容;脚本类型=";text/javascript“&燃气轮机</脚本>;

PHP获取<;中的内容;脚本类型=";text/javascript“&燃气轮机</脚本>;,php,Php,我试图得到的内容是什么是javascript脚本标记 <script type="text/javascript"> [CONTENT HERE] </script> [此处内容] 目前我有这样的想法: $start = preg_quote('<script type="text/javascript">', '/'); $end = preg_quote('</script>', '/'); preg_match('/ '.$start.

我试图得到的内容是什么是javascript脚本标记

<script type="text/javascript"> [CONTENT HERE] </script>
[此处内容]
目前我有这样的想法:

$start = preg_quote('<script type="text/javascript">', '/');
$end = preg_quote('</script>', '/');

preg_match('/ '.$start. '(.*?)' .$end.' /', $test, $matches);
$start=preg_quote(“,”/”);
$end=preg_quote(“,/”);
preg_match('/'.$start.'(.*?'.$end.'/',$test,$matches);

但是,当我转储它时,它是空的

请尝试以下操作:

$test = '<script type="text/javascript"> [CONTENT HERE] </script>';
$start = preg_quote('<script type="text/javascript">', '/');
$end = preg_quote('</script>', '/');

preg_match("/$start(.*?)$end/", $test, $matches);

var_dump($matches);
$test='[CONTENT HERE]';
$start=preg_quote(“,/”);
$end=preg_quote(“,/”);
预匹配(“/$start(.*?$end/”,$test,$matches);
var_dump($matches);
输出:

array (size=2)
  0 => string '<script type="text/javascript"> [CONTENT HERE] </script>' (length=56)
  1 => string ' [CONTENT HERE] ' (length=16)
数组(大小=2)
0=>字符串“[CONTENT HERE]”(长度=56)
1=>字符串“[CONTENT HERE]”(长度=16)

问题实际上是
preg_match

/
前后的空格,正则表达式要求在脚本开始标记之前有空格:

当我将该空间添加到数据中时,代码工作正常:

<?php
$test = ' <script type="text/javascript"> [CONTENT HERE] </script> ';
$matches = [];

$start = preg_quote('<script type="text/javascript">', '/');
$end = preg_quote('</script>', '/');

preg_match('/ '.$start. '(.*?)' .$end.' /', $test, $matches);

print_r($matches);
?>

'/'
更改为
'/'
也有效


…但也就是说,您应该而且。

另一种方法是使用
带标签

$txt='<script type="text/javascript"> [CONTENT HERE] </script>';
echo strip_tags($txt);
$txt='<script type="text/javascript"> [CONTENT HERE] </script>';
echo strip_tags($txt);
 [CONTENT HERE]