PDA

View Full Version : سوال: مشکل Str_raplace با کلمات فارسی



poozhan
پنج شنبه 14 شهریور 1392, 13:55 عصر
خسته نباشید
برای یک قسمتی از پروژه یک قسمتی با عنوان کلمات زشت طراحی کردم که یک آرایه درست کردم برای این کار که هم شامل کلمات فارسی میشه هم انگلیسی از تابع str_replace استفاده کردم که به جای اون کلمات چند تا ستاره بزاره ولی این کار روی کلمات فارسی جواب نمیده درصورتی که کلمات انگلیسی خودم تست میکنم دقیقا ستاره ها جایگزین کلمه زشت توی نظرات میشه ولی کلمه فارسی مینویسم انجام نمیده
مبه نظرتون مشکل من از کجاس؟

poozhan
پنج شنبه 14 شهریور 1392, 14:02 عصر
این آرایه هستش


$badwords = array('test','تست');

اینم تابع این کار هستش



function formatMessage($msg) {
foreach($this->smilies as $acii => $img)
$msg = str_ireplace($this->badwords, '****', $msg); foreach($this->smilies as $acii => $img) { $msg = str_ireplace($acii, '<img src="'.$this->smiliesPath.$img.'" width="16" height="16" align="absmiddle" />', $msg); }

$patterns = array('/([^\w\/])(www\.[a-z0-9\-]+\.[a-z0-9\-]+)/i','/([\w]+:\/\/[\w-?&;#~=\.\/\@]+[\w\/])/i','/([\w-?&;#~=\.\/]+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,3}|[0-9]{1,3})(\]?))/i',
'~\[@([^\]]*)\]~','~\[([^\]]*)\]~','~{([^}]*)}~','~_([^_]*)_~','/\s{2}/');
$replacements = array('$1http://$2','<a href=\"$1\">$1</a>','<a href=\"mailto:$1\">$1</a>','<b class="reply">@\\1</b>','<b>\\1</b>','<i>\\1</i>','<u>\\1</u>','<br />');
$msg = preg_replace($patterns, $replacements, $msg); return stripslashes(stripslashes(utf8_decode($msg)));
}

poozhan
پنج شنبه 14 شهریور 1392, 16:55 عصر
کسی نمیتونه کمکم کنه