Hỏiván đề về bbcode john

7 bài đăng
01.09.2017 / 18:27
jojolonelycat
Bài đăng: 42
Member

tình hình là mình sử dụng bbcode url có dấu nháy "

PHP
  1. [url="link"]abc[/url]

thì bbcode ko hoạt động

m đã tùy biến để loại bỏ dấu nháy nhưng ko đc

PHP
  1. private static function highlight_bbcode_url($var)
  2. {
  3. if (!function_exists('process_url')) {
  4. function process_url($url)
  5. {
  6. $home = parse_url(core::$system_set['homeurl']);
  7. $a=trim($url[1]);
  8. $a=str_replace('"','',$a);
  9. $tmp = parse_url($a);
  10.  
  11.  
  12. if ($home['host'] == $tmp['host'] || isset(core::$user_set['direct_url']) && core::$user_set['direct_url']) {
  13. return '<a href="' . $a . '">' . $url[2] . '</a>';
  14. } else {
  15. return '<a rel="nofollow" target="_blank" href="' . core::$system_set['homeurl'] . '/go.php?url=' . urlencode(htmlspecialchars_decode($a)) . '">' . $url[2] . '</a>';
  16. }
  17.  
  18. }
  19. }
  20.  
  21. return preg_replace_callback('#\\[url=(.+?)\\](.+?)\\[/url\\]#is', 'process_url', $var);
  22.  
  23. }

admin và m.n ai có cách nào xử lí ko?

01.09.2017 / 18:35
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H
PHP
  1. return preg_replace_callback('#\\[url="(.+?)"\\](.+?)\\[/url\\]#is', 'process_url', $var);
01.09.2017 / 18:46
jojolonelycat
Bài đăng: 42
Member
MrKen đã viết
PHP
  1. return preg_replace_callback('#\\[url="(.+?)"\\](.+?)\\[/url\\]#is', 'process_url', $var);

vậy thì khi ko có dấu nháy " lại ko sử dụng đc, m muốn dùng cả 2 :')

01.09.2017 / 19:00
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H
PHP
  1. $a = htmlspecialchars_decode(trim($url[1]));
  2. $a = preg_replace('/^("?)(.+)(\1)$/', '$2', $a);
  3. $tmp = parse_url(htmlspecialchars($a));
01.09.2017 / 19:06
jojolonelycat
Bài đăng: 42
Member

thank giải thích giúp m các ý nghĩa vs ad

PHP
  1. ^("?)

PHP
  1. (\1)$
01.09.2017 / 19:07
MrKen
Bài đăng: 2643
Trùm!
Vẫn là A N H

replace cái dấu " thôi :)

01.09.2017 / 19:22
jojolonelycat
Bài đăng: 42
Member
MrKen đã viết

replace cái dấu " thôi :)

giúp m để vận dụng sau này ak