رفع مشکل لینک ها و آدرس های فارسی در انجمن phpbbReviewed by Datacss.ir on Feb 2Rating:

رفع مشکل لینک ها و آدرس های فارسی در انجمن phpbb

در صورتی که لینکی که دارای آدرس های فارسی می باشد در phpbb درج نمایید bbcode url کار نمی کند و تبدیل به لینک نمی شود. به عنوان مثال در صورتی که لینک شما چیزی شبیه به آدرس زیر باشد به همان صورت متنی باقی می ماند:

http://sitedesign.joomir.com/مقالات-طراحی-سایت.html

مشکل آدرس دهی های فارسی phpbb

برای رفع این مشکل کافی است فایل موجود در فلدر includes با نام functions.php باز نموده و کد زیر را بیابید:

case ‘url’:
case ‘url_inline’:
$inline = ($mode == ‘url’) ? ‘)’ : ”;
$scheme = ($mode == ‘url’) ? ‘[a-z\d+\-.]’ : ‘[a-z\d+]’; // avoid automatic parsing of “word” in “last word.http://…”
// generated with regex generation file in the develop folder
return “[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

case ‘www_url’:
case ‘www_url_inline’:
$inline = ($mode == ‘www_url’) ? ‘)’ : ”;
return “www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

case ‘relative_url’:
case ‘relative_url_inline’:
$inline = ($mode == ‘relative_url’) ? ‘)’ : ”;
return “(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

و تبدیل به کد زیر نمایید:

// by http://joomir.com ahmad balavipourcase ‘url’:
case ‘url_inline’:
$inline = ($mode == ‘url’) ? ‘)’ : ”;
$scheme = ($mode == ‘url’) ? ‘[a-z\d+\-.]’ : ‘[a-z\d+]’; // avoid automatic parsing of “word” in “last word.http://…”
// generated with regex generation file in the develop folder
//return “[a-z]$scheme*:/{2}(?:(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
// by http://joomir.com ahmad balavipour
return “[a-z][a-z\d+\-.]*:/{2}(?:(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+|[0-9.]+|\[[a-z0-9.]+:[a-z0-9.]+:[a-z0-9.:]+\])(?::\d*)?(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

case ‘www_url’:
case ‘www_url_inline’:
$inline = ($mode == ‘www_url’) ? ‘)’ : ”;
//return “www\.(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
return “www\.(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})+(?::\d*)?(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

case ‘relative_url’:
case ‘relative_url_inline’:
$inline = ($mode == ‘relative_url’) ? ‘)’ : ”;
//return “(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[a-z0-9\-._~!$&'($inline*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[a-z0-9\-._~!$&'($inline*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
return “(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*(?:/(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@|]+|%[\dA-F]{2})*)*(?:\?(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?(?:\#(?:[\x80-\xFFa-z0-9\-._~!$&'()*+,;=:@/?|]+|%[\dA-F]{2})*)?”;
break;

// by http://joomir.com ahmad balavipour

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد.

این فیلد را پر کنید
این فیلد را پر کنید
لطفاً یک نشانی ایمیل معتبر بنویسید.

فهرست
Call Now Buttonتماس سریع