Khắc phục hàm highlight_string() ? 2007-07-30 04:20:28

Có ai biết cách khắc phục lỗi hàm highlight_string() không?
Lổi là đôi lúc làm cho đoạn văn cần highlight chuyển sang màu xanh dương ?

Tra loi 9 comment(s) cocbay 2007-07-30 04:20:28

TG 2007-07-30 05:36:54


cocbay nên kiểm tra dấu có tồn tại <?php và ?> trước khi highlight, trong đoạn code chỉ có 1 dấu mở mà nó highlight toàn bộ phần còn lại

Tra loi

cocbay 2007-07-31 08:14:29


Không, ý của tui là 90% nó chạy đúng, 10% còn lại là nó chuyển đoạn bài viết sang màu xanh hết ngay cả đoạn code có <?php ?>.
Trang PHPBASIC giao diện cũ cũng thường bị như vậy....
Hay là TG có thể share code chuyển mã cần highlight_string() không. Code của tui là dựa vào code PHPBASIC cũ.

Tra loi

TG 2007-07-31 08:50:27


Đây là đoạn code TG đang sử dụng:
<?php
function highlight_php($str){
$str = stripslashes($str);
$str = (preg_match('/<\?[php]?\s?(.*)\s?\?>/si',$str))?highlight_string($str,$return):htmlspecialchars($str);
return
str_replace(array(" ","&nbsp;","<br>","\n"),array("<br>"," ","&nbsp;&nbsp;","<br />"),$str);
}
?>
cocbay sử dụng thử xem :)

Tra loi

gaulucky92 2009-02-26 05:44:16


khi submit nó hiện lỗi vậy nè TG ới...

<?php
echo "Blah blah blah";
?>

[code]<?php
echo "Blah blah blah";
?>[/code]
Warning: Cannot modify header information - headers already sent by (output started at E:\data\bum\xampp\htdocs\includes\function.php:51) in E:\data\bum\xampp\htdocs\index.php on line 16

Tra loi

TNguyễn 2009-03-08 04:53:25

function chạy bình thường mà???

Tra loi

hello 2009-03-09 12:43:43

Hix. Cái này thì em không giúp gì được roài. Mong học hỏi thôi vậy.

Tra loi

gaulucky92 2009-03-09 08:34:42

fix dc rồi =.= dường như nó chỉ có tác dụng đối với dữ liệu xuất ra, chứ dữ liệu nhập vào thì sẽ báo lỗi! ==> lưu văn bản thô vào db, khi nào xuất ra thì mới sàng lọc & xử lí bbcode, highlight...

Tra loi

ndthuan 2009-03-09 02:17:41

Ko hiểu lắm bác có thể cho cái screenshot coi nó lỗi thế nào?

Tra loi

gaulucky92 2009-03-09 03:39:41


lỗi thế này: trong khu soạn thảo e viết đại 1 đoạn php (có dấu "<?php" và "?>" luôn), submit thì nó hiện thế này:
<?php
echo "Blah blah blah";
?>

[code]<?php
echo "Blah blah blah";
?>[/code]
Warning: Cannot modify header information - headers already sent by (output started at E:\data\bum\xampp\htdocs\includes\function.php:51) in E:\data\bum\xampp\htdocs\index.php on line 16

Do sau khi insert db e có chạy header() để redirect tới bài mới post => lỗi

Giờ đổi lại, cứ insert bình thường, khi select ra để xem thì mới cho nó xử lí trước khi xuất ra => OK

Tra loi

Y kien