Prepáč, v hlavnom súbore (weby.php) mám to menenie HTML entít-
Kód:
if (!isset($_GET['clanok'])) {
$strankaa= "index"; }
else {$strankaa= $_GET['clanok'];}
$soubor= "weby/".$strankaa.".php" or ".html" ;
if (!file_exists($soubor)) {
$soubor= "nenaslo.php"; };
$vstup= file_get_contents($soubor);
function nahrada($m) {
return $m[1] . htmlspecialchars($m[2], ENT_QUOTES, 'UTF-8', false) . $m[3];
}
$vypis = preg_replace_callback('~(<pre>)(.*)(</pre>)~isU', 'nahrada', $vstup);
echo $vypis;
Potom mám vo vypísanom súbore (premenná $subor- vstup $vypis- vystup toho HTML konvertovania) takýto kód:
Kód:
if (!isset($_GET['clanok'])) {
$stranka= "index"; }
else {$stranka= $_GET['clanok'];}
$subor= "weby/".$stranka.".php" or ".html" ;
if (!file_exists($subor)) {
$subor= "nenaslo.php"; };
$soubor="1"; // Základná hodnota
// OVEROVANIA
while (file_exists("weby/".$soubor.".php")) { // $subor zväčšujem kým existuje
$vyber = $soubor; // načítam ho aj do $vyber
$soubor++;} // $subor zväčšujem kým existuje
while (file_exists("weby/".$vyber.".php")) { // kým existuje $vyber
// VYBER SLOV
$text= file_get_contents("weby/".$vyber. ".php"); // otvorím momentálny súbor
preg_match_all("/<h2>(.*)<\/h2>/Us",$text,$nadpis, PREG_SET_ORDER);
echo "<h2>";
echo $nadpis[0][1];
echo "</h2>";
preg_match_all("/<small>(.*)<\/small>/Us",$text,$male, PREG_SET_ORDER);
echo "<small>";
echo $male[0][1];
echo "</small>";
preg_match_all("/<p>(.*)<\/p>/Us",$text,$obsah, PREG_SET_ORDER);
echo "<p>";
$slov = 40; // počet slov ve zkráceném článku...
$text_out = explode(" ", $obsah[0][1]); // spočítání slov podle mezer
for($y=0; $y < $slov; $y++) { // cyklus pro zobrazení zadaného počtu slov
// VYPIS
if (isset($text_out[$y])) {
echo $text_out[$y]." "; } ; // Výpis zkráceného článku
}
echo "...</p>";
echo "<a href='?str=weby&clanok=" .$vyber. "' class='citaj'>";
echo "(Čítaj viac)";
echo "</a>";
echo "<br><br>";
// ETC.
$vyber--; // Zmenšujem číslo súboru a beží to znova
}
Prepáčte, za tú fúru kódu, ale vážne netuším, čo môže z toho byť najdôležitejšie :/ K tomu čo to robí a to čo to má robiť. Hlavný súbor (weby.php) má zmeniť všetky HTML znaky na entity (medzi značkami <pre>) a do tohto súboru vkladám súbor index.php, ktorý mi vypisuje články (prvých 40 slov). Tento súbor index.php funguje samostatne, ale ak ho vložím do hlavného súboru weby.php a tam mám tú funkciu na zmenu HTML značiek tak mi to vysype von iba kód, tzn. nespracuje ho, len ho prosto vypíše celý na výstup. Toto mi vypisuje až po značke <h2> v prvom preg_replace_callback(). Prakticky mi to spracuje HTML značky, ale zvyšok kódu nie, takže sa mi žiadne kúsky článkov nezobrazia, akurát tak kódy ktoré ich majú vytiahnúť. Snáď ste pochopili aspoň niečo.
// pridané po 1 hodine 36 minútach od posledného príspevkuVie niekto prečo to hapruje?