Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Autor | Správa |
---|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
vyberem z db nejaky velky text, s tym ze cem , aby mi len text medzi
<div class="source"> a </div> zobrazilo ako syntax cez funkciu highlight_string...ale len medzi tym, ostatne nechalo tak....skusal som cez regularne vyrazy, ale neviem ako tu funkciu pouzijem len v tom DIVe
dik
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 28.04.07 Prihlásený: 03.11.09 Príspevky: 133 Témy: 1 | 1 |
Kód: <div> <?php $s = file_get_contents("foo.php"); //alebo ine nacitanie php skriptu highlight_string($s); ?> </div>
V čom je problém?
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
ano...to som vedel aj ja...ale z db vyberem napr. takyto text(cele v code je z db):
Kód: <h1>Nadpis</h1> Aenean aliquam ultrices augue. Nam sagittis, ligula at tristique volutpat, felis nisi molestie erat, et ultricies dui turpis ut risus. Maecenas tortor magna, porta non, cursus non, bibendum id, metus. A tu je priklad php:
<div class="source"> <? $to = "expertphp@yahoo.com"; $from = "from@myaccount.com"; $subject = "Subject here"; $headers = "MIME-Version: 1.0\r\n". "Content-type: text/html; charset=iso-8859-1\r\n". "From: \"My Name\" <".$from.">\r\n". "To: \"Client\" <".$to.">\r\n". "Date: ".date("r")."\r\n". "Subject: ".$subject."\r\n"; ?> </div>
potrebujem aby tak zobrazilo syntax len v texte medzi
<div class="source"> a </div>
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 28.04.07 Prihlásený: 03.11.09 Príspevky: 133 Témy: 1 | 1 |
bez regexp-ov:
Kód: <div> <?php $s = file_get_contents("foo.php"); $start = strpos($s, '<?'); $end = strpos($s, '?>') + 2; $s = substr($s, $start, $end - $start); highlight_string($s); ?> </div>
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
toto zobrazi len tu cast ktoru cem zobrazit source...ale ja potrebujem zobrazit uplne cele, aj pod aj pod, aj nad <div class="source"></div> a to co je medzi <div class="source"> a </div> zvyraznit syntax...s tym ze
<div class="source"></div> tam moze byt viackrat
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 27.07.07 Príspevky: 3948 Témy: 51 | 51 Bydlisko: Bratislava |
pouzi eregi_replace() alebo jej podobnu funkciu
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
som skusal ale neviem ako na to
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 28.04.07 Prihlásený: 03.11.09 Príspevky: 133 Témy: 1 | 1 |
Kód: <?php $text = file_get_contents("foo.php"); $newtext = $text; $start_marker = '<div class="source">'; $end_marker = '</div>'; $end = 0;
while ($start = strpos($text, $start_marker, $end)) { $start += strlen($start_marker); $end = strpos($text, $end_marker, $start); $s = substr($text, $start, $end - $start); $hili = highlight_string($s, true); $newtext = str_replace($s, $hili, $newtext); }
echo $newtext; ?>
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
odskusam...ked to bude fungovat tak diki moc
_________________ "Kde končí hiphop, začína IQ." |
|
Registrovaný: 16.08.07 Prihlásený: 03.10.12 Príspevky: 139 Témy: 25 | 25 Bydlisko: Bratislava |
ajtak je najlepsie riesenie pomocou regularnych vyrazov
Kód: $text = 'PRED ZVYRAZNENIM <div class="source">function superfunkcia() { echo "toto by malo byt zvyraznene"; }</div> PO ZVYRAZNENI';
$search = '@<div class="source">(.*?)</div>@e'; $replace = 'highlight_string ("$1", true)';
$text = preg_replace ($search, $replace, $text); echo $text;
kuzlo je v modifikatori e, ktory spravi taku vec, ze replacement sa nebude brat ako string, ale ako kod v PHP.
|
|
Registrovaný: 29.12.05 Prihlásený: 14.08.18 Príspevky: 539 Témy: 62 | 62 Bydlisko: 127.0.0.1 (... |
ten imcoldov kód fungoval, ale az ked som ho upravil takto:
Kód: <? $newtext = htmlspecialchars_decode($co); $start_marker = '<div class="code">'; $end_marker = '</div>'; $end = 0;
while ($start = strpos($newtext, $start_marker, $end)) { $start += strlen($start_marker); $end = strpos($newtext, $end_marker, $start); $s = substr($newtext, $start, $end - $start); $hili = highlight_string(str_replace(" "," ",str_replace("<br />","\n",$s)), true); $newtext = str_replace($s, $hili, $newtext); }
echo $newtext; ?>
_________________ "Kde končí hiphop, začína IQ." |
|
Stránka: 1 z 1
| [ Príspevkov: 11 ] | |
Podobné témy | Témy | Odpovede | Zobrazenia | Posledný príspevok |
---|
| v PHP, ASP | 9 | 701 | 28.04.2011 2:13 JanoF | | v PHP, ASP | 7 | 663 | 11.01.2010 18:52 neopagan | | v HTML, XHTML, XML, CSS | 2 | 453 | 01.03.2010 14:56 Ďuri | | v PHP, ASP | 10 | 487 | 21.10.2014 7:13 hatto13 | | v PHP, ASP | 3 | 512 | 14.09.2009 16:51 pego | | v Sieťové a internetové programy | 11 | 534 | 21.06.2008 11:52 mimkork | | v Počítačové hry | 2 | 1423 | 03.02.2009 16:55 jankosta | | v Operačné systémy Microsoft | 4 | 288 | 25.03.2014 21:50 tomas25.3 | | v PHP, ASP | 5 | 635 | 12.06.2007 18:41 qacer | | v Operačné systémy Microsoft | 0 | 324 | 22.12.2016 15:28 tatko Tom | | v PHP, ASP | 16 | 1095 | 27.07.2008 21:48 dulius | | v Intel - Integrated Electronics | 1 | 490 | 22.10.2012 18:14 MTK | | v Operačné systémy Microsoft | 2 | 271 | 04.12.2012 17:27 vladoff | | v JavaScript, VBScript, Ajax | 3 | 403 | 11.03.2010 19:04 Ďuri | | v Ostatné programy | 12 | 920 | 18.11.2006 9:48 shiro | | v Redakčné systémy | 3 | 613 | 08.10.2006 13:53 matasss |
|