TryMe каза:kikity_94 каза:Да но нещо не мога да разбера къде да ги ръгна тези unset-и :S
След $codeE = explode("<br />", $code);
PHP:$codeE = explode("<br />", $code); unset($codE[0]); #трием първият елемент unset($codE[count($codE) - 1]); #трием последният елемент
А не мога да разбера този $count какво ти брои ?
$count ми е точно за броене на редовете, целта му е д азапочне да брои от 1 до края на цикъла. Също забелязваш и if условието което ако числата са от 0-9 да им пребавя по 1 нула от пред.
Но има и друго с тези в unseta първият проработи започна да брои от където трябва, 2рият също истрива броенето на [*/php], но пък и истрива последния ред от кода така, че отново остава един празен ред със число от брояча.
Дака сега ще разгледам и твойта тема
//EDIT: TryMe
Получих най- накрая желания резултат, просто от 2рият unset трябваше да се премахне -1 и сега работи както трябва.
TryMe ти получаваш точката тъй като ми помогна най-точно да разреша проблема и да го направя по начина по който аз искам. Благодаря
Дака на тебе също много ти благодаря за мненията и насоките които ми даде в цялата тема и ще имам в предвид всичко това което каза.
А ето крайният код
PHP:
<?php
function highlightphp($code) {
if(preg_match("/\[php\](.+?)\[\/php\]/is", $code)){
$code = htmlspecialchars_decode($code);
$code = preg_replace("/\[php\](.+?)\[\/php\]/is", "$1", $code);
$code = highlight_string($code, true);
$codeE = explode("<br />", $code);
unset($codeE[0]);
unset($codeE[count($codeE)]);
$count = 1;
foreach($codeE as $line => $code) {
if($count < 10) {
echo "0".$count.$code."<br />";
} else {
echo $count.$code."<br />";
}
$count++;
}
} else {
$code = "<xmp>". $code ."</xmp>";
echo $code;
}
}
if(isset($_POST['submit'])) {
highlightphp(htmlspecialchars($_POST['php']));
}
?>