2016-04-05 31 views
1

Bir dosyanın içeriğini almayı ve başlıkları hariç ilk 50 kelimeyi önizlemeye çalışıyorum ve bir takıma çarptım.Html öğeleri nasıl kaldırılır?

$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 */ 
    } 
} 

outputted metin doğruysa $less_words yankılanan zaman bununla yaşıyorum sorundur, ancak gösteriyi var ve biçimlendirilir 2 örnek dosyalarında <h1></h1> etiketleri. Ancak, $result'u eklediğinizde sayfadaki çıktı $result Read more'dur.

cevap

1

php fonksiyonu http://php.net/manual/en/function.strip-tags.php çalışacak ...

$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>'; 
+0

Bu, mükemmel bir şekilde çalıştı ve bazı nedenlerle, "' '' '' '' '' '' '' '' '' '' '' değişkenini – jordsta95

1

Değişim

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 */ 
+0

doğru mandala. +10 –

+0

Teşekkürler, ancak bunu yapmak için bir sebepten ötürü, ama her şeyi olduğu gibi bırakmak, aralarındaki boşlukları yitirmek için yankılanan tüm kelimelere neden olur, ancak @Barry'nin önerdiği strip_tags işlevi bunu yapmadı. Neden olduğunu bilmiyorum. – jordsta95

İlgili konular