[ Príspevkov: 5 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.11
Prihlásený: 26.01.13
Príspevky: 28
Témy: 10 | 10
NapísalOffline : 17.11.2011 21:18 | Problém s prevodom HTML na entity

Zdravím, mám problém s týmto kódom
Kód:
function nahrada($m) {
  return $m[1] . htmlspecialchars($m[2], ENT_QUOTES, 'UTF-8', false) . $m[3]; 
}
preg_replace_callback('~(<pre>)(.*)(</pre>)~isU', 'nahrada', $text);

Tento kód má za úlohu prehodiť všetky HTML znaky na entity, no keď do premennej $text načítam súbor, v ktorom je napríklad toto
Kód:
preg_match_all("/<h2>(.*)<\/h2>/Us",$text,$nadpis, PREG_SET_ORDER);
echo "<h2>";
echo $nadpis[0][1];
echo "</h2>";
(Výpis h2jek zo súboru na výpis článkov)
Tak spracuje všetko po značku <h2>. Túto značku vyhodnotí, a potom už nič. Nevypíše obsah echa, ale vypíše mi celý kód ako ";echo $nadpis [0][1];echo... Viete mi poradiť aký je tu problém?


Offline

Čestný člen
Čestný člen
Problém s prevodom HTML na entity

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 17.11.2011 22:01 | Problém s prevodom HTML na entity

Ten tvoj horny kod nerobi to, co si mozno predstavujes - on na entity prevedie iba tie znaky, ktore su medzi <pre> a </pre>. Takze by bolo asi vhodne ujasnit si, co presne pozadujes, a ten kod, ktory chces v HTML interpretovat presne tak, ako je, dat bud do <pre> a podhodit tej funkcii, alebo upravit funkciu.
A dalsia vec, ty ocakavas, ze ten spodny kod sa ti bude vykonavat? Lebo tak nejak som to pochopil z tvojho "Nevypíše obsah echa".


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.11
Prihlásený: 26.01.13
Príspevky: 28
Témy: 10 | 10
Napísal autor témyOffline : 18.11.2011 14:20 | Problém s prevodom HTML na entity

Viem, že sa to má prehadzovať len medzi značkami <pre>, a ten spodný kód má vybrať zo súboru $text obsah medzi tagmi <h2> a potom ho echom vypísať, a to aj robí, ak ho otvorím samostatne, no keď ho otvorím v tom hornom a následne celý vypíšem tak mi to najskôr ten horný kód odserie... Zjednodušene, keď otvorím celý súbor (z ktorého mám časť v druhom kóde) samostatne, tak robí čo má. No keď ho otvorím v nadradenom súbore (z ktorého je prvý kód), načítam ho do premennej, prebehnem cez ten prvý kód a vyechujem to čo mi výjde z preg_replace_callback tak to po spomínanej značke <h2> odchádza.

// pridané po 16 hodinách 7 minútach od posledného príspevku

Tak čo je s tým?


Offline

Čestný člen
Čestný člen
Problém s prevodom HTML na entity

Registrovaný: 11.08.07
Príspevky: 4110
Témy: 30 | 30
Bydlisko: Brno
NapísalOffline : 18.11.2011 14:39 | Problém s prevodom HTML na entity

Nenahanaj nas, nikto tu nie je povinny odpovedat ti.
Mohol by si zaslat co najjednoduchsi, ale kompletny kod, ktory by sme len spustili a videli by sme, aky je vystup a aky konkretny vystup by si si miesto toho predstavoval? Nemozeme vediet, ci chybu nerobis niekde inde, a cim podrobnejsie sa svoju situaciu snazis popisat, tym viacej som domotany.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 17.11.11
Prihlásený: 26.01.13
Príspevky: 28
Témy: 10 | 10
Napísal autor témyOffline : 19.11.2011 11:43 | Problém s prevodom HTML na entity

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íspevku

Vie niekto prečo to hapruje?


 [ Príspevkov: 5 ] 


Problém s prevodom HTML na entity



Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
Táto téma je zamknutá, nemôžete posielať nové príspevky alebo odpovedať na staršie.

HTML entity a SEO

v Internetový marketing, SEO, reklama

22

768

10.11.2011 23:39

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

Problém s prevodom AND na NAND

v Ostatné

2

116

25.10.2014 16:30

EmeriX

V tomto fóre nie sú ďalšie neprečítané témy.

cannot generate system identifier for general entity

v HTML, XHTML, XML, CSS

8

348

29.04.2008 20:41

Tominator

V tomto fóre nie sú ďalšie neprečítané témy.

platba prevodom do Nemecka

v Obchody, reklamácie a právo

5

728

09.12.2010 18:36

Xaltotun

V tomto fóre nie sú ďalšie neprečítané témy.

assembler pomoc s prevodom

v Assembler, C, C++, Pascal, Java

2

437

27.03.2010 19:10

blw90

V tomto fóre nie sú ďalšie neprečítané témy.

assembler uloha pomoc s prevodom...

v Assembler, C, C++, Pascal, Java

1

409

28.03.2009 17:39

bbeni

V tomto fóre nie sú ďalšie neprečítané témy.

ako mam zaplatit fakturu , prevodom na ucet

v Obchody, reklamácie a právo

17

2862

15.11.2010 18:28

walther

V tomto fóre nie sú ďalšie neprečítané témy.

HTML problém

v Delphi, Visual Basic

0

669

08.08.2008 21:20

hackerwoody

V tomto fóre nie sú ďalšie neprečítané témy.

Problem v HTML

v HTML, XHTML, XML, CSS

3

843

04.06.2006 11:02

shaggy

V tomto fóre nie sú ďalšie neprečítané témy.

PROBLÉM HTML frame

v HTML, XHTML, XML, CSS

6

356

01.06.2011 15:51

mrPavolM

V tomto fóre nie sú ďalšie neprečítané témy.

html validacia problem

v HTML, XHTML, XML, CSS

17

1182

19.12.2006 16:27

itsgoingd

V tomto fóre nie sú ďalšie neprečítané témy.

problem s vloženim do html

v PHP, ASP

2

265

02.08.2009 12:58

dartanan

V tomto fóre nie sú ďalšie neprečítané témy.

Problem s konverziou BBCode na HTML tagy

v PHP, ASP

0

202

28.06.2010 21:11

newboy1

V tomto fóre nie sú ďalšie neprečítané témy.

HTML vs. XHTML - problém, ktorý neviem vyriešiť

v Kôš

2

47

10.07.2016 18:45

Webess

V tomto fóre nie sú ďalšie neprečítané témy.

mam problem neviem vkladat text do odkazov HTML

v HTML, XHTML, XML, CSS

7

947

10.03.2006 18:43

Intelman

V tomto fóre nie sú ďalšie neprečítané témy.

html

v HTML, XHTML, XML, CSS

3

242

06.07.2010 21:06

coldak



© 2005 - 2017 PCforum, edited by JanoF