我正在尝试获取文件的内容并预览前50个单词,不包括标题,而且我遇到了障碍。
$getPage = $_SERVER['QUERY_STRING'];
$page = "news/" . $getPage . ".php";
$directory = 'news/';
$scanned_directory = array_diff(scandir($directory, 1), array('..', '.'));
if (file_exists($page)) {
include $page;
} else {
foreach ($scanned_directory as $value) {
$file = file_get_contents('news/' . $value);
$less_words = implode(' ', array_slice(explode(' ', $file), 0, 50));
$result = preg_replace('/\<.*?\>|\s*/', '', $less_words);
echo '<p>$result ...<br> <a href="$url">Read more</a></p>';
/* TO ADD: URL variable */
}
}
我遇到的问题是当回显$less_words
输出的文本是正确的,但是我显示的2个示例文件中的<h1></h1>
标记已经过格式化。但是当回显$result
时,页面上输出的文本为$result Read more
。
答案 0 :(得分:1)
更改
echo '<p>$result ...<br> <a href="$url">Read more</a></p>';
/* TO ADD: URL variable */
到
echo '<p>'.$result.' ...<br> <a href="'.$url.'">Read more</a></p>';
/* TO ADD: URL variable */
答案 1 :(得分:1)
php函数http://php.net/manual/en/function.strip-tags.php可以工作......
$file = file_get_contents('news/' . $value);
$file = strip_tags($file);
$less_words = implode(' ', array_slice(explode(' ', $file), 0, 50));
echo '<p>'.$less_words.'...<br> <a href="'.$url.'">Read more</a></p>';